话说上午打了一场小小的比赛,全都是long long 型的,而且动不动就会超时,对此真的好没法。
整除的尾数
Description
Input
Output
Sample Input
200 40 1992 95 0 0
#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;
}