Submission #341510

#TimeUsernameProblemLanguageResultExecution timeMemory
341510MvCComparing Plants (IOI20_plants)C++14
5 / 100
94 ms9708 KiB
#include "plants.h" #include <bits/stdc++.h> #define rc(x) return cout<<x<<endl,0 #define pb push_back #define mkp make_pair #define in insert #define er erase #define fd find #define fr first #define sc second #define all(x) x.begin(),x.end() #define lun(x) (int)x.size() typedef long long ll; typedef long double ld; const ll INF=0x3f3f3f3f3f3f3f3f; const ll llinf=(1LL<<60); const int inf=(1<<30); const int nmax=2e5+50; const ll mod=1e9+7; using namespace std; int n,i,a[nmax],p[nmax],s[nmax]; void init(int k,vector<int> r) { n=lun(r); for(i=0;i<n;i++)a[i]=r[i]; p[0]=a[0],s[n-1]=a[n-1]; for(i=1;i<n;i++)p[i]=p[i-1]+a[i]; for(i=n-2;i>=0;i--)s[i]=s[i+1]+a[i]; } int compare_plants(int x,int y) { int z=0; if(x>0)z=p[x-1]; if(p[y-1]-z==0)return 1; if(p[y-1]-z==y-x)return -1; if(s[y]+z==0)return -1; if(s[y]+z==n-y+x)return 1; return 0; } /*int main() { //freopen("sol.in","r",stdin); //freopen("sol.out","w",stdout); //mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); ios_base::sync_with_stdio(false);cin.tie(0);cerr.tie(0);cout.tie(0); return 0; }*/
#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...