Submission #907152

#TimeUsernameProblemLanguageResultExecution timeMemory
907152ibm2006Minerals (JOI19_minerals)C++17
0 / 100
1 ms344 KiB
#include "minerals.h" #include<bits/stdc++.h> using namespace std; typedef int ll; ll n,i,j,k,l,r,x,y,z,w,s,t,perm[1100000],b[1100000]; vector<ll> v,u; void dnc(vector<ll> v,vector<ll> u,ll z) { // printf("(%lld %lld)\n",v.size(),u.size()); ll i,m=v.size(); ll mid=m/2,x; if(m==1) { perm[v[0]]=u[0]; return; } if(z==0) {for(i=0;i<mid;i++) { // printf("! %lld\n",v[i]); x=Query(v[i]); s++; }} else { for(i=mid;i<m;i++) { x=Query(v[i]); s--; } } vector<ll> v1,v2,u1,u2; for(i=0;i<mid;i++) { v1.push_back(v[i]); } for(i=mid;i<m;i++) { v2.push_back(v[i]); } for(i=0;i<m;i++) { //printf("! %lld\n",u[i]); y=Query(u[i]); if(b[u[i]]==0) s++; else s--; b[u[i]]^=1; y=s-y; //printf("(%lld)\n",y); if(y!=x) u1.push_back(u[i]); else u2.push_back(u[i]); // printf("! %lld\n",u[i]); x=y; } dnc(v2,u2,0); dnc(v1,u1,1); } void f() { ll i,x=0,y; for(i=1;i<=n*2;i++) { y=Query(i); if(y>x) { v.push_back(i); x++; continue; } else { Query(i); u.push_back(i); continue; } } } void Solve(ll N) { n=N; f(); /*for(i=0;i<v.size();i++) { Query(v[i]); }*/ dnc(v,u,1); for(i=1;i<=n*2;i++) { if(perm[i]==0) continue; Answer(i,perm[i]); } }

Compilation message (stderr)

minerals.cpp: In function 'void dnc(std::vector<int>, std::vector<int>, ll)':
minerals.cpp:52:9: warning: 'x' may be used uninitialized in this function [-Wmaybe-uninitialized]
   52 |         if(y!=x)
      |         ^~
#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...