本蒟蒻厚颜无耻地请各位大佬查错

P3955 [NOIP2017 普及组] 图书管理员

乱心者不可留 @ 2017-11-12 20:18:46

以下是代码:

#include<bits/stdc++.h>
using namespace std;
int a[1010],b[1010],c[1010],d[1010],e[1010],f[1010],ans[1010];
int main(){
    int i,j,k,l,m,n;
    cin>>n>>m;
    for(i=1;i<=n;i++){
        cin>>a[i];
    }
    for(i=1;i<=m;i++){
        ans[i]=0;
    }
    for(i=1;i<=m;i++){
        cin>>b[i]>>c[i];
        for(j=1;j<=b[i];j++){
            d[1]=10;
            d[j]=d[j-1]*10;
            f[i]=max(d[j],d[j-1]);
        }
        for(j=1;j<=n;j++){
            if(a[j]>=c[i] && (a[j]-c[i])%f[i]==0){
            ans[i]=min(a[j],a[j-1]);
            }else{
                if(ans[i]!=0){
                    ans[i]=ans[i];
                }else{
                    ans[i]=-1;
                }
            }
        }    
    }
    for(i=1;i<=m;i++){
        cout<<ans[i]<<endl;
    }
    return 0;
}

by λᴉʍ @ 2017-11-12 20:24:45

太长了


by Lolierl @ 2017-11-12 22:17:34

@乱心者不可留

1.不要开bcd数组,纯属多余

2.f数组每次清零。


by 乱心者不可留 @ 2017-11-15 17:28:38

@xzz_233 那您怎么想的


by λᴉʍ @ 2017-11-15 17:50:13

@乱心者不可留 看题解


by 乱心者不可留 @ 2017-11-15 20:03:15

@xzz_233 您的也不短呢


|