dalao们求调!
查看原帖
dalao们求调!
724221
ILoveSoviet楼主2023/7/11 09:04
#include<iostream>
using namespace std;
int m,a[111],dp[4100001],ma,zs[111];
int zsb[25]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97};
void qzs(int n){
    for(int i=0;i<25;i++){
        if(n%zsb[i]==0)   {zs[zsb[i]]++;}
    }
}
int main(){
    #ifndef ONLINE_JUDGE
    freopen("P8646.in","r",stdin);
    freopen("P8646.out","w",stdout);
    #endif
    cin>>m;
    for(int i=0;i<m;i++){
        cin>>a[i];
        dp[a[i]]++;
        qzs(a[i]);
        ma=max(ma,a[i]);
    }
    for(int i=0;i<111;i++)  if(zs[i]==m){
        cout<<"INF";
        return 0;
    }
    for(int i=ma;i<=4100000;i++){
        for(int j=0;j<m;j++){
            if(dp[i-a[j]])  dp[i]++;
        }
    }
    int ans=0;
    for(int i=1;i<4100000;i++){
        if(dp[i]==0)    ans++;
    }
    cout<<ans;
}

我老师说我的程序大致已经没有问题了,但是总是得72分。能帮我调一下吗?谢谢

2023/7/11 09:04
加载中...