Submission #45045

#TimeUsernameProblemLanguageResultExecution timeMemory
45045XellosIgra (COCI17_igra)C++14
100 / 100
2 ms664 KiB
#include <bits/stdc++.h> // iostream is too mainstream #include <cstdio> // bitch please #include <iostream> #include <algorithm> #include <cstdlib> #include <vector> #include <set> #include <map> #include <queue> #include <stack> #include <list> #include <cmath> #include <iomanip> #include <time.h> #define dibs reserve #define OVER9000 1234567890 #define ALL_THE(CAKE,LIE) for(auto LIE =CAKE.begin(); LIE != CAKE.end(); LIE++) #define tisic 47 #define soclose 1e-8 #define chocolate win // so much chocolate #define patkan 9 #define ff first #define ss second #define abs(x) ((x < 0)?-(x):x) #define uint unsigned int #define dbl long double #define pi 3.14159265358979323846 using namespace std; // mylittledoge #ifdef DONLINE_JUDGE // palindromic tree is better than splay tree! #define lld I64d #endif int main() { cin.sync_with_stdio(0); cin.tie(0); cout << fixed << setprecision(10); int N; string S,s; cin >> N >> s >> S; int cnt[] ={0,0,0}, cntS[] ={0,0,0}; for(int i =0; i < N; i++) cnt[s[i]-'a']++; for(int i =0; i < N; i++) cntS[S[i]-'a']++; for(int i =0; i < N; i++) for(int j =0; j < 3; j++) if(j != S[i]-'a') { cnt[j]--; cntS[S[i]-'a']--; if(max(0,max(cntS[0]-cnt[2],cnt[1]-cntS[2])) > min(cnt[1],min(cntS[0],cnt[0]+cnt[1]-cntS[2]))) { cnt[j]++; cntS[S[i]-'a']++; continue;} s[i] ='a'+j; break;} cout << s << "\n"; } // look at my code // my code is amazing
#Verdict Execution timeMemoryGrader output
Fetching results...