Submission #639683

# Submission time Handle Problem Language Result Execution time Memory
639683 2022-09-11T03:59:00 Z ningia203 Igra (COCI17_igra) C++14
90 / 100
1 ms 340 KB
#include<bits/stdc++.h>
using namespace std;

long n,F[5007],D[10][10],cnt;
string s,t;
bool vs[10007];
int main(){
    ios::sync_with_stdio(0);cin.tie(0);
    cin>>n;
    cin>>s;
    cin>>t;
    for(long i=0; i<n; i++){
        if(s[i]=='a') D[1][1]+=1;
        else if(s[i]=='b') D[1][2]+=1;
        else D[1][3]+=1;
    }
    for(long i=0; i<n; i++){
        if(t[i]=='a') D[2][1]+=1;
        else if(t[i]=='b') D[2][2]+=1;
        else D[2][3]+=1;
    }
    //cout<<s<<'\n';
    cnt=0;
    for(long i=n-1; i>=0; i--){
        if(cnt>=D[1][3]) break;
        if(t[i]=='a'){
            if(D[1][2]<=D[2][3]+D[2][1]-1){
                cnt++;
                s[i]='c';
                vs[i]=true;
                D[2][1]-=1;
            }
        }
        if(t[i]=='b'){
            if(D[1][1]<=D[2][3]+D[2][2]-1){
                cnt++;
                s[i]='c';
                D[2][2]-=1;
                vs[i]=true;
            }
        }
    }
    //cout<<s<<'\n';
    cnt=0;
    for(long i=n-1; i>=0; i--){
        if(cnt>=D[1][2]) break;
        if(t[i]=='a' && !vs[i]){
            cnt++;
            D[2][1]-=1;
            s[i]='b';
            vs[i]=true;
        }
    }
    for(long i=n-1; i>=0; i--){
         if(cnt>=D[1][2]) break;
        if(t[i]=='c' && !vs[i]){
            if(D[1][1]<=D[2][2]+D[2][3]-1){
                cnt++;
                s[i]='b';
                D[2][3]-=1;
                vs[i]=true;
            }
        }
    }
    //cout<<s<<'\n';
    for(long i=0; i<n; i++) if(!vs[i]) s[i]='a';
    cout<<s;
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Incorrect 0 ms 212 KB Output isn't correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 0 ms 340 KB Output is correct
10 Correct 1 ms 340 KB Output is correct