今天刷了三道水题。。。。。。呵呵
546A
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
__int64 k,n,w,s,t;
while(cin>>k>>n>>w)
{
s=n-((k+k*w)*w)/2;
if(s>=0)
cout<<"0"<<endl;
else
printf("%I64d\n",-s);
}
return 0;
}
#include<iostream>
using namespace std;
#define N 3000+2
int partition(int *a,int p,int r)
{
int i=p,j=r;
int x=a[p];
while(i<j)
{
while(a[j]>=x&&i<j)
j--;
a[i]=a[j];
while(a[i]<=x&&i<j)
i++;
a[j]=a[i];
}
a[i]=x;
return i;
}
void Qsort(int *a,int p,int r)
{
if(p<r)
{
int q=partition(a,p,r);
Qsort(a,p,q-1);
Qsort(a,q+1,r);
}
}
int main()
{
int a[N],b[N],n,i,j;
while(cin>>n)
{
for(i=0;i<n;i++)
{
cin>>b[i];
a[i]=b[i];
}
Qsort(a,0,n-1);
// for(i=0;i<n;i++)cout<<b[i]<<" ";cout<<endl;
int num=0;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]==a[j])
{
a[j]++;
num++;
}
}
}
cout<<num<<endl;
}
return 0;
}
TLE代码
#include<iostream>
using namespace std;
int main()
{
int n,i;
while(cin>>n)
{
int num;
int t,s;
if(n==4)
cout<<"1\n";
else if(n==7)
cout<<"2\n";
else{num=2;
for(i=44;i<=n;i++)
{
s=i;
if(i%10!=4&&i%10!=7)
continue;
while(s)
{
t=s%10;
if(t!=4&&t!=7)
break;
s/=10;
}
if(s==0)
num++;
}
cout<<num<<endl;
}
}
return 0;
}
AC代码
#include<iostream>
#include<string>
using namespace std;
int main()
{
int i;
string s;
while(cin>>s)
{int a=0,b=1;
for(i=s.size()-1;i>=0;i--)
{
if(s[i]=='4')
a+=b;
else
a+=2*b;
b*=2;
}
cout<<a<<endl;
}
return 0;
}
© 现实给了梦想多少时间 | Powered by LOFTER