제출 #1230494

#제출 시각아이디문제언어결과실행 시간메모리
1230494inesfi버섯 세기 (IOI20_mushrooms)C++20
0 / 100
0 ms420 KiB
#include "mushrooms.h" #include<bits/stdc++.h> using namespace std; int count_mushrooms(int n) { int rep=1; vector<int> A={0},B={}; int racine=sqrt(n); racine=max(racine,(int)2); int ec=1; while ((int)A.size()<2 and (int)B.size()<2 and ec<n){ if (use_machine({0,ec})==0){ A.push_back(ec); rep++; } else { B.push_back(ec); } ec++; } if (A.size()==2){ while ((int)A.size()<racine and (int)B.size()<racine and ec<n){ if (ec==n-1){ if (use_machine({0,ec})==0){ A.push_back(ec); rep++; } else { B.push_back(ec); } ec++; } else { int val=use_machine({ec,A[0],ec+1,A[1]}); if (val==0){ A.push_back(ec); A.push_back(ec+1); rep+=2; } else if (val==1){ A.push_back(ec); B.push_back(ec+1); rep++; } else if (val==2){ A.push_back(ec+1); B.push_back(ec); rep++; } else { B.push_back(ec); B.push_back(ec+1); } ec+=2; } } } else { while ((int)A.size()<racine and (int)B.size()<racine and ec<n){ if (ec==n-1){ if (use_machine({0,ec})==0){ A.push_back(ec); rep++; } else { B.push_back(ec); } ec++; } else { int val=use_machine({ec,B[0],ec+1,B[1]}); if (val==0){ B.push_back(ec); B.push_back(ec+1); } else if (val==1){ B.push_back(ec); A.push_back(ec+1); rep++; } else if (val==2){ B.push_back(ec+1); A.push_back(ec); rep++; } else { A.push_back(ec); A.push_back(ec+1); rep+=2; } ec+=2; } } } //cout<<ec<<endl; if ((int)A.size()==racine){ while (ec<n){ vector<int> quest={}; int indice=0; while (ec<n and indice<(int)A.size()-1){ quest.push_back(A[indice]); quest.push_back(ec); ec++; indice++; } quest.push_back(A[indice]); rep+=(int)quest.size()/2-use_machine(quest)/2; } //cout<<rep<<endl; return rep; } while (ec<n){ vector<int> quest={}; int indice=0; while (ec<n and indice<(int)B.size()-1){ quest.push_back(B[indice]); quest.push_back(ec); ec++; indice++; } quest.push_back(B[indice]); /*for (auto i:quest){ cout<<i<<" "; } cout<<endl;*/ rep+=use_machine(quest)/2; } //cout<<rep<<endl; return rep; }
#Verdict Execution timeMemoryGrader output
Fetching results...