這些題是真的夠水的啊!

話說上午打了一場小小的比賽,全都是long long 型的,而且動不動就會超時,對此真的好沒法。

整除的尾數

Description

一個整數,只知道前幾位,不知道末二位,被另一個整數除盡了,那麼該數的末二位該是什麼呢?
 

Input

輸入數據有若干組,每組數據包含二個整數a,b(0<a<10000, 10<b<100),若遇到0 0則處理結束。
 

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

Input
2 3
3
Output
1
Input
0 -1
2
Output
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

Input
5
15 2 1 5 3
Output
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;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章