Submission #576169

#TimeUsernameProblemLanguageResultExecution timeMemory
576169urd05Park (JOI17_park)C++17
20 / 100
192 ms476 KiB
#include "park.h" #include <bits/stdc++.h> using namespace std; int place[1400]; int n; bool comp(int a,int b) { for(int i=0;i<n;i++) { if (i==a) { place[i]=0; } else { place[i]=1; } } if (Ask(0,b,place)==0) { return true; } else { return false; } } void Detect(int t,int nn) { n=nn; if (t==1) { for(int i=0;i<n;i++) { for(int j=i+1;j<n;j++) { for(int k=0;k<n;k++) { if (k==i||k==j) { place[k]=1; } else { place[k]=0; } } if (Ask(i,j,place)==1) { Answer(i,j); } } } return; } if (t==2) { vector<int> vec; for(int i=1;i<n-1;i++) { vec.push_back(i); } sort(vec.begin(),vec.end(),comp); Answer(0,vec[0]); Answer(vec[vec.size()-1],n-1); for(int i=1;i<vec.size();i++) { int one=vec[i-1]; int two=vec[i]; Answer(min(one,two),max(one,two)); } return; } if (t==3) { vector<int> vec[10]; bool vis[1400]; memset(vis,0,sizeof(vis)); vis[0]=true; vec[0].push_back(0); for(int j=1;j<=9;j++) { memset(place,0,sizeof(place)); for(int k=0;k<j;k++) { for(int i=0;i<vec[k].size();i++) { place[vec[k][i]]=1; } } for(int i=0;i<n;i++) { if (!vis[i]) { place[i]=1; if (Ask(0,i,place)) { vec[j].push_back(i); vis[i]=true; } place[i]=0; } } for(int i=0;i<vec[j-1].size();i++) { place[vec[j-1][i]]=0; } for(int i=0;i<vec[j].size();i++) { int now=vec[j][i]; int l=0; int r=vec[j-1].size()-1; while (l<r) { int mid=(l+r)/2; for(int k=l;k<=mid;k++) { place[vec[j-1][k]]=1; } place[now]=1; if (Ask(0,now,place)) { r=mid; } else { l=mid+1; } for(int k=l;k<=mid;k++) { place[vec[j-1][k]]=0; } place[now]=0; } int one=vec[j-1][l]; int two=now; if (one>two) { swap(one,two); } Answer(one,two); } } } }

Compilation message (stderr)

park.cpp: In function 'void Detect(int, int)':
park.cpp:53:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |         for(int i=1;i<vec.size();i++) {
      |                     ~^~~~~~~~~~~
park.cpp:69:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   69 |                 for(int i=0;i<vec[k].size();i++) {
      |                             ~^~~~~~~~~~~~~~
park.cpp:83:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   83 |             for(int i=0;i<vec[j-1].size();i++) {
      |                         ~^~~~~~~~~~~~~~~~
park.cpp:86:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   86 |             for(int i=0;i<vec[j].size();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...