TLE,求掉
查看原帖
TLE,求掉
1135901
Programming_Konjac楼主2025/8/5 15:46

求掉awa

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=1e6;
int dp[2*N+6];
signed main(){
    for(int i=0;i<=2*N; i++) dp[i]=-0x3f3f3f3f;
    dp[N]=0;
    int n;
    cin>>n;
    for(int i=1; i<=n; i++){
        string s;
        cin>>s;
        int cnt1=0,cnt2=0;
        for(int j=0;j<s.size(); j++){
            if(s[j]=='s'){
                cnt1++;
            }
            else if(s[j]=='c'){
                cnt2++;
            }
        }
        int x=cnt1+cnt2,y=cnt1-cnt2;
        if(y<0){
            y=-y;
            for(int j=y; j<=2*N; j++){
                dp[j-y]=max(dp[j-y],(dp[j]+x));
            }
        }
        else{
            for(int j=2*N; j>=y; j--){
                dp[j]=max(dp[j],(dp[j-y]+x));
            }    
        }
    }
    cout<<(dp[N]>>1);
    return 0;
}
2025/8/5 15:46
加载中...