제출 #796373

#제출 시각아이디문제언어결과실행 시간메모리
796373ln_e드문 곤충 (IOI22_insects)C++17
47.89 / 100
212 ms552 KiB
#include <bits/stdc++.h> //Andrei Alexandru a.k.a Sho #include "insects.h" using ll=long long; using ld=long double; int const INF=1000000005; ll const LINF=1000000000000000005; ll const mod=1000000007; ld const PI=3.14159265359; ll const MAX_N=3e5+5; ld const EPS=0.00000001; #pragma GCC optimize("O3") #pragma GCC optimize("Ofast") #define f first #define s second #define pb push_back #define mp make_pair #define endl '\n' #define sz(a) (int)a.size() #define CODE_START ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); using namespace std; int cnt=0,n,viz[2005],nwviz[2005]; vector<ll>original; ll check(ll mx){ vector<ll>v; for(ll i=0;i<n;i++) nwviz[i]=viz[i]; for(ll i=0;i<n;i++){ if(v.size()+original.size()==cnt*mx){ return 0; for(ll i=0;i<n;i++) viz[i]=nwviz[i]; for(auto it : v){ original.pb(it); } } if(viz[i]){ continue; } move_inside(i); ll x=press_button(); if(x>mx){ move_outside(i); }else { v.pb(i); nwviz[i]=1; } if(v.size()+original.size()==cnt*mx){ return 0; for(ll i=0;i<n;i++) viz[i]=nwviz[i]; for(auto it : v){ original.pb(it); } } } // cout<<mx<<' '<<v.size()<<' '<<original.size()<<endl; if(v.size()+original.size()==cnt*mx){ return 0; for(ll i=0;i<n;i++) viz[i]=nwviz[i]; for(auto it : v){ original.pb(it); } } for(auto it : v){ move_outside(it); } return 1; } int min_cardinality(int N) { vector<ll>v; v.pb(0); n=N; move_inside(0); cnt=1; viz[0]=1; for(ll i=1;i<N;i++){ move_inside(i); ll x=press_button(); if(x>1){ move_outside(i); }else { v.pb(i); viz[i]=1; cnt++; } } original=v; ll l=1,r=N,ans=0; while(l<=r){ ll mid=(l+r)/2; if(check(mid)==0){ ans=mid; l=mid+1; }else r=mid-1; } return ans; }

컴파일 시 표준 에러 (stderr) 메시지

insects.cpp: In function 'll check(ll)':
insects.cpp:28:37: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'll' {aka 'long long int'} [-Wsign-compare]
   28 |          if(v.size()+original.size()==cnt*mx){
      |             ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
insects.cpp:30:8: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   30 |        for(ll i=0;i<n;i++)
      |        ^~~
insects.cpp:32:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   32 |         for(auto it : v){
      |         ^~~
insects.cpp:47:37: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'll' {aka 'long long int'} [-Wsign-compare]
   47 |          if(v.size()+original.size()==cnt*mx){
      |             ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
insects.cpp:49:8: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   49 |        for(ll i=0;i<n;i++)
      |        ^~~
insects.cpp:51:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   51 |         for(auto it : v){
      |         ^~~
insects.cpp:57:34: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'll' {aka 'long long int'} [-Wsign-compare]
   57 |       if(v.size()+original.size()==cnt*mx){
      |          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
insects.cpp:59:8: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   59 |        for(ll i=0;i<n;i++)
      |        ^~~
insects.cpp:61:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   61 |         for(auto it : v){
      |         ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...