首页 > 代码库 > THE EIGHTH DAY

THE EIGHTH DAY

技术分享
#include<iostream>
#include<cstdio>
using namespace std;
int N,M,cnt=0;
int a[10010];
bool f[10010];
bool flag;
int main()
{
    freopen("T1.in","r",stdin);
    freopen("T1.out","w",stdout);
    cin>>N>>M;
    for(int i=1;i<=N;i++)
        cin>>a[i];
    while(true){
        flag=0;
        for(int j=1;j<=N;j++)
            if(M>=a[j]&&f[j]==0){
                f[j]=1;
                flag=1;
                M+=5;
                cnt++;
            }
        if(flag==0)
            break;
    }
    cout<<cnt<< <<M<<endl;
    return 0;
}
View Code
技术分享
#include<iostream>
#include<cstdio>
using namespace std;

int n,m,a[5050];

void init(){
    cin>>n>>m;
    for(int i=1;i<=n;i++)
        cin>>a[i];
}

int query1(int x,int k){
    int cnt=0;
    for(int i=x-1;i>0;i--)
        if(a[i]<a[x]){
            cnt++;
            if(cnt==k)
                return i;
        }
    return -1;
}

int query2(int x,int k){
    int cnt=0;
    for(int i=x-1;i>0;i--)
        if(a[i]>a[x]){
            cnt++;
            if(cnt==k)
                return i;
        }
    return -1;
}

int query3(int x,int k){
    int cnt=0;
    for(int i=x+1;i<=n;i++)
        if(a[i]<a[x]){
            cnt++;
            if(cnt==k)
                return i;
        }
    return -1;
}

int query4(int x,int k){
    int cnt=0;
    for(int i=x+1;i<=n;i++)
        if(a[i]>a[x]){
            cnt++;
            if(cnt==k)
                return i;
        }
    return -1;
}

void work(){
    for(int i=1;i<=m;i++){
        int a,b,x,k;
        cin>>a>>b>>x>>k;
        int ans;
        if(a==0){
            if(b==0) ans=query1(x,k);
            else ans=query2(x,k);
        }else{
            if(b==0) ans=query3(x,k);
            else ans=query4(x,k);
        }
        cout<<ans<<endl;
    }
}

int main(){
    freopen("T2.in","r",stdin);
    freopen("T2.out","w",stdout);
    init();
    work();
    return 0;
}
View Code
技术分享
#include<iostream>
#include<cstdio>
using namespace std;
long long N,a,b,c;
long long t1=0,t2=0,sum;
int main(){
    freopen("T3.in","r",stdin);
    freopen("T3.out","w",stdout);
    cin>>N;
    t1=10,t2=99;
    sum=9;
    int k=2;
    for(;N>=sum;k++){
        N-=sum;
        sum=(t2-t1+1)*k;
        t2=t2*10+9;
        t1*=10;
    }
    k--;
    a=1;
    for(int i=2;i<=k;i++)
        a*=10;
    a+=N/k;
    b=N%k;
    if(b==0)
        a--,b+=k;
    c=k-b;
    for(int i=1;i<=c;i++)
        a/=10;
    cout<<a%10<<endl;
    return 0;
}
View Code

   今天是我学习编程的第八天~~也是我的第二次考试~~还是暑期集训第一期的最后一天~~

  今天考试题目比较难,我考的非常非常低,我认为我写对的题也没得多少分,原因是因为我思考问题过于片面,缺乏全面的分析,再一个是我对知识的欠缺,之前没有好好学导致我的成绩如此之低。通过这一次考试,以后做题我要全方面的思考问题,不能过于片面,不能丢失细节,学习也要踏踏实实,不能分心。

  今天最后老师说第二批急训是筛选人的,我觉得我可能不会被选上,我有点后悔,我还想继续学习编程。如果我可以再进行编程学习的话,我一定认真对待它,不在虚度光阴。

  希望如此吧~~

  This is my eighth day. 

THE EIGHTH DAY