Submission #628399

#TimeUsernameProblemLanguageResultExecution timeMemory
628399Sasha008Rarest Insects (IOI22_insects)C++17
53.16 / 100
184 ms432 KiB
#include<bits/stdc++.h> #include "insects.h" //#pragma GCC optimize ("O3") using namespace std; #define el "\n" #define se " " #define ll long long #define ld long double #define ff first #define ss second #define pb push_back const ll INF=1e18,ch=1e18; ll a,b,c,d,n,COST,t,last,ab,ba,n1,n2,fl1,fl2,o1,o2,flag,flag1,flag2,g,m,m1,m2,i,j,lr,f,k,l,r,y,o,p,mx=-ch,mx1=-ch,mx2=-ch,q,q1,q2,q3,q4,mn=ch,mn1=ch,mn2=ch,f1,f2,f3,pos,ans,sum,sz=1,MOD=1e9+7,zero=0,a1,b1,c1,val,sum1,cur,res,ans1,res1,kk,kkk,cnt,cnt1,fl; ll S[2005]; ll A[2005]; //void move_inside(int i) //void move_outside(int i) //int press_button() bool pr(ll m) { ans=0; for(i=0;i<n;i++) { if (S[i]==1) continue; move_inside(i); A[i]=1; if (press_button()+q>m) { A[i]=0; move_outside(i); } else { ans++; } } if ((m-q)*d==ans) return 1; return 0; } int min_cardinality(int N) { n=N; d=0; for(i=0;i<n;i++) { move_inside(i); d++;S[i]=1; if (press_button()>1) { move_outside(i); d--;S[i]=0; } } for(i=0;i<n;i++) { if (S[i]==1) move_outside(i); } o=1;l=2;r=n/d-1;q=1; while(l<=r) { for(i=0;i<n;i++) { A[i]=0; } m=(l+r)/2; if (pr(m)==1) { o=m; l=m+1; q=m; for(i=0;i<n;i++) { if (A[i]==1) { S[i]=1; move_outside(i); } } } else { r=m-1; for(i=0;i<n;i++) { if (A[i]==1) { move_outside(i); } } } } if (o==n/d-1) { for(i=0;i<n;i++) { A[i]=0; } if (pr(n/d)==1) o=n/d; } return o; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...