#12WA了……
查看原帖
#12WA了……
754021
fish_love_cat楼主2022/10/28 13:58

RT

结果比#12小一

代码:

#include<bits/stdc++.h>
using namespace std;
long long a[50005],f1,f2,f3,f4,f5,f6,u0,u1,u2,u3,u4,u5,u6;
int main(){
    int n;
    cin>>n;
    for(int x,i=1;i<=n;i++){
        cin>>x;
        a[i]=x+a[i-1];
        a[i]%=7;
    }
    for(int l=1;l<=n;l++){
        switch(a[l]){
            case 1:
                f1=(f1==0?l:f1);
                break;
            case 2:
                f2=(f2==0?l:f2);
                break;
            case 3:
                f3=(f3==0?l:f3);
                break;
            case 4:
                f4=(f4==0?l:f4);
                break;
            case 5:
                f5=(f5==0?l:f5);
                break;
            case 6:
                f6=(f6==0?l:f6);
                break;
        }
        if(f1&&f2&&f3&&f4&&f5&&f6) break;
    }
    for(int r=n;r>0;r--){
        switch(a[r]){
            case 0:
                u0=(u0==0?r:u0);
                break;
            case 1:
                u1=(u1==0?r:u1);
                break;
            case 2:
                u2=(u2==0?r:u2);
                break;
            case 3:
                u3=(u3==0?r:u3);
                break;
            case 4:
                u4=(u4==0?r:u4);
                break;
            case 5:
                u5=(u5==0?r:u5);
                break;
            case 6:
                u6=(u6==0?r:u6);
                break;
        }
        if(u1&&u2&&u3&&u4&&u5&&u6) break;
    }
    int ans=max(max(max(max(max(max(u6-f6,u5-f5),u4-f4),u3-f3),u2-f2),u1-f1),u0);
    cout<<ans<<endl;
    return 0;
}

2022/10/28 13:58
加载中...