話說上午打了一場小小的比賽,全都是long long 型的,而且動不動就會超時,對此真的好沒法。
整除的尾數
Description
Input
Output
Sample Input
#include<bits/stdc++.h> using namespace std; int main() { int a,b,i,n; int f[100]; while(cin>>a>>b&&a&&b) { n=0; for(i=0; i<100; i++) { if((a*100+i)%b==0) f[n++]=i; } for(i=0; i<n; i++) { if(i==n-1) { if(f[i]<10) printf("0%d\n",f[i]); else printf("%d\n",f[i]); } else { if(f[i]<10) printf("0%d ",f[i]); else printf("%d ",f[i]); } } } return 0; }
Jzzhu and Sequences
Description
Jzzhu has invented a kind of sequences, they meet the following property:
You are given x and y, please calculate fn modulo1000000007(109 + 7).
Input
The first line contains two integers x andy(|x|, |y| ≤ 109). The second line contains a single integern(1 ≤ n ≤ 2·109).
Output
Output a single integer representing fn modulo1000000007(109 + 7).
Sample Input
2 3 3
1
0 -1 2
1000000006
Hint
In the first sample, f2 = f1 + f3,3 = 2 + f3,f3 = 1.
In the second sample, f2 = - 1; - 1 modulo (109 + 7) equals(109 + 6).
這是一道找規律的題,只有找到了規律,纔不會爆掉,直接做就直接被爆掉吧!
#include<stdio.h>
#define M 1000000007
int main()
{
int sum,x,y,i,f[12];
long long int n;
while(~ scanf("%d%d",&x,&y))
{
scanf("%lld",&n);
f[1]=x;
f[2]=y;
for(i=3; i<7; i++)
{
f[i]=f[i-1]-f[i-2];
}
n=n%6;
if(n==0)
{ n+=6; }
sum=f[n]%M;
if(sum<0)
{ sum+=M; }
printf("%d\n",sum);
}
}
D. Queue
Description
Little girl Susie went shopping with her mom and she wondered how to improve service quality.
There are n people in the queue. For each person we know timeti needed to serve him. A person will be disappointed if the time he waits is more than the time needed to serve him. The time a person waits is the total time when all the people who stand in the queue in front of him are served. Susie thought that if we swap some people in the queue, then we can decrease the number of people who are disappointed.
Help Susie find out what is the maximum number of not disappointed people can be achieved by swapping people in the queue.
Input
The first line contains integer n (1 ≤ n ≤ 105).
The next line contains n integers ti (1 ≤ ti ≤ 109), separated by spaces.
Output
Print a single number — the maximum number of not disappointed people in the queue.
Sample Input
5 15 2 1 5 3
4
Hint
Value 4 is achieved at such an arrangement, for example:1, 2, 3, 5, 15. Thus, you can make everything feel not disappointed except for the person with time 5.
排隊的題,未節約時間,如果調換排隊的人的位置,使最大人數的使隊排列在可忍受的範圍內,這就需要把前面n個人的時間相加,看看是否第n+1個人可以忍受,在範圍內,則cnt++;
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long int i,n,cnt,a[1000100];
long long int s;
while(cin>>n)
{
cnt=1;
for(i=0; i<n; i++)
{
cin>>a[i];
}
sort(a,a+n);
s=a[0];
for(i=1; i<n; i++)
{
if(s<=a[i])
{
cnt++;
s+=a[i];
}
}
cout<<cnt<<endl;
}
return 0;
}