Submission #172835

#TimeUsernameProblemLanguageResultExecution timeMemory
172835mhy908Memory 2 (JOI16_memory2)C++14
100 / 100
4 ms504 KiB
#include "Memory2_lib.h" #include <bits/stdc++.h> #include <time.h> #define pb push_back #define mp make_pair #define F first #define S second #define all(x) x.begin(), x.end() using namespace std; typedef long long LL; typedef pair<int, int> pii; typedef pair<LL, LL> pll; const LL llinf=9000000000000000000; const int inf=2000000000; vector<int> myvec; vector<pii> ans; void Solve(int T, int N) { srand((unsigned int)time(NULL)); for(int i=0; i<N*2; i++)myvec.pb(i); while(1){ if(myvec.size()==2){ Answer(myvec[0], myvec[1], Flip(myvec[0], myvec[1])); return; } ans.clear(); int rnd=rand()%myvec.size(); for(int i=0; i<myvec.size();i++){ if(i!=rnd)ans.pb(mp(Flip(myvec[i], myvec[rnd]), myvec[i])); } sort(ans.begin(),ans.end()); vector<int> temp; for(int i=0, j; i<ans.size(); i=j){ vector<int> now; for(j=i; j<ans.size()&&ans[i].F==ans[j].F; j++)now.pb(ans[j].S); if(now.size()==2)Answer(now[0], now[1], ans[i].F); else{ now.pb(myvec[rnd]); temp=now; } } myvec=temp; } }

Compilation message (stderr)

memory2.cpp: In function 'void Solve(int, int)':
memory2.cpp:28:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i=0; i<myvec.size();i++){
                      ~^~~~~~~~~~~~~
memory2.cpp:33:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i=0, j; i<ans.size(); i=j){
                         ~^~~~~~~~~~~
memory2.cpp:35:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(j=i; j<ans.size()&&ans[i].F==ans[j].F; j++)now.pb(ans[j].S);
                      ~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...