Submission #209330

#TimeUsernameProblemLanguageResultExecution timeMemory
209330papaSlagalica (COCI19_slagalica2)C++14
45 / 70
48 ms3820 KiB
#include <bits/stdc++.h> using namespace std; //treba da se doradi !!! int n; bool pi = 0; bool ki = 0; int cnt1 =0; int cnt4 =0; vector<pair<int,int> > li; vector<pair<int,int> > lu; vector<pair<int,int> >::iterator iz,ud; vector<int> rj; int zadnji; void nemoguce() { cout << -1; exit(0); return; } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cerr.tie(0); cin >> n; for(int i=0;i<n;i++) { int x,a; cin >> x >> a; if(x==5 || x==6) rj.push_back(a); else if(x==7 || x==8) zadnji = a; if(x==5) pi = 1; else if(x==7) ki = 1; else if(x==1) cnt1++; else if(x==4) cnt4++; if(x==1 || x==2) li.push_back({a,x}); else if(x==3 || x==4) lu.push_back({a,x}); } if(pi && ki && cnt4!=cnt1+1) nemoguce(); if(!pi && !ki && cnt4!=cnt1+1) nemoguce(); if(pi ^ ki) { if(cnt1!=cnt4) nemoguce(); if(cnt1==0) { if(pi && li.size()) nemoguce(); if(ki && lu.size()) nemoguce(); } } sort(li.begin(),li.end()); sort(lu.begin(),lu.end()); int prom = 0; bool treba = !pi; iz = li.begin(); ud = lu.begin(); while(!((iz==li.end() && treba) || (ud==lu.end() && !treba))) { if(treba) { if(iz->second==1) { treba = 0; prom = rj.size()-1; } rj.push_back(iz->first); iz++; } else { if(ud->second==4) { treba = 1; prom = rj.size()-1; } rj.push_back(ud->first); ud++; } } for(int i=0;i<prom+1;i++) cout << rj[i] << " "; while(iz!=li.end()) { cout << iz->first << " "; iz++; } while(ud!=lu.end()) { cout << ud->first << " "; ud++; } for(int i=prom+1;i<rj.size();i++) cout << rj[i] << " "; cout << zadnji; return 0; }

Compilation message (stderr)

slagalica.cpp: In function 'int main()':
slagalica.cpp:107:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=prom+1;i<rj.size();i++) cout << rj[i] << " ";
                      ~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...