Submission #817483

#TimeUsernameProblemLanguageResultExecution timeMemory
817483TrumlingComparing Plants (IOI20_plants)C++14
5 / 100
62 ms8680 KiB
#include "plants.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; #define pb push_back #define F first #define S second #define enter cout<<'\n'; #define INF 99999999999999999 #define MOD 1000000007 #define all(x) x.begin(),x.end() vector<int>pre,suf; ll nn; void init(int k, vector<int> r) { pre.assign(r.size(),0); suf.assign(r.size(),0); nn=r.size(); if(k==2) { for(int i=0;i<nn;i++) pre[i]=((i==0)?0:pre[i-1])+r[i]; for(int i=nn-1;i>=0;i--) suf[i]=((i==nn-1)?0:suf[i+1])+r[i]; } else { for(int i=0;i<nn;i++) pre[i]=((i==0)?0:pre[i-1])+ r[i]>=r[(i+1)%nn]; for(int i=nn-1;i>=0;i--) suf[i]=((i==nn-1)?0:suf[i+1])+ r[i]>=r[(i+1)%nn]; } return; } int compare_plants(int x, int y) { ll r=pre[y-1]-((x==0)?0:pre[x-1]); ll l= ((x==0)?0:pre[x-1])+ suf[y]; ll ans=0; if(r==y-x) ans=-1; if(r==0) ans=1; if(l==nn-y+x) ans=1; if(l==0) ans=-1; return ans; }
#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...