제출 #152416

#제출 시각아이디문제언어결과실행 시간메모리
152416sofhiasouzaIgra (COCI17_igra)C++14
40 / 100
3 ms380 KiB
#include <bits/stdc++.h> #define pb push_back using namespace std; const int maxn = 5e3+10; int n, c1, c2, c3; string a, b, resp; priority_queue < int > u[7]; int main() { cin >> n; cin >> a >> b; resp = b; for(int i = 0 ; i < a.size() ; i++) { if(a[i] == 'a') c1++; else if(a[i] == 'b') c2++; else c3++; } for(int i = 0 ; i < n ; i++) { if(b[i] == 'a') { if(c2) { resp[i] = 'b'; c2--; u[1].push(i); } else if(c3) { resp[i] = 'c'; c3--; u[2].push(i); } else { int u4 = u[4].top(), u6 = u[6].top(); if(u4 < u6) { u[4].pop(); resp[u4] = 'a'; c1--; resp[i] = 'c'; u[3].push(u4); u[2].push(i); } else { u[6].pop(); resp[u6] = 'a'; c1--; resp[i] = 'b'; u[5].push(u6); u[1].push(i); } } } else if(b[i] == 'b') { if(c1) { resp[i] = 'a'; c1--; u[3].push(i); } else if(c3) { resp[i] = 'c'; c3--; u[4].push(i); } else { int u2 = u[2].top(), u5 = u[5].top(); if(u2 < u5) { u[2].pop(); resp[u2] = 'b'; c2--; resp[i] = 'c'; u[1].push(u2); u[4].push(i); } else { u[5].pop(); resp[u5] = 'b'; c2--; resp[i] = 'a'; u[6].push(u5); u[3].push(i); } } } else { if(c1) { resp[i] = 'a'; c1--; u[5].push(i); } else if(c2) { resp[i] = 'b'; c2--; u[6].push(i); } else { int u1 = u[1].top(), u3 = u[3].top(); if(u1 > u3) { u[1].pop(); resp[u1] = 'c'; c3--; resp[i] = 'b'; u[2].push(u1); u[6].push(i); } else { u[3].pop(); resp[u3] = 'c'; c3--; resp[i] = 'a'; u[4].push(u3); u[5].push(i); } } } } cout << resp << "\n"; }

컴파일 시 표준 에러 (stderr) 메시지

igra.cpp: In function 'int main()':
igra.cpp:19:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0 ; i < a.size() ; i++)
                  ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...