Submission #1316175

#TimeUsernameProblemLanguageResultExecution timeMemory
1316175opeleklanosComparing Plants (IOI20_plants)C++20
0 / 100
1 ms332 KiB
#include <iostream> #include <vector> #include <array> #include <stdio.h> #include "plants.h" using namespace std; int k; int n; vector<int> r; vector<int> pref; void init(int k1, vector<int> r1){ k = k1; r = r1; n = r1.size(); pref.assign(n, 0); pref[0] = 0; for(int i = 1; i<n; i++){ pref[i] = pref[i-1] + (r[i] != r[i-1]); } } int compare_plants(int x, int y){ if(pref[x-1] == pref[y] && x>y && r[y] == 1) return 1; if(pref[x-1] == pref[y] && x>y && r[y] == 0) return -1; if(pref[x] == pref[y-1] && x<y && r[x] == 1) return -1; if(pref[x] == pref[y-1] && x<y && r[x] == 0) return 1; if(x>y && (pref[x] != pref[n-1] || pref[y-1] != 0)) return 0; if(x<y && (pref[y] != pref[n-1] || pref[x-1] != 0)) return 0; if(x>y && r[x] == 1 && r[0] == 1) return -1; if(x>y && r[x] == 0 && r[0] == 0) return 1; if(x<y && r[y] == 1 && r[0] == 1) return 1; if(x<y && r[y] == 0 && r[0] == 0) return -1; return 0; } // int main(void){ // freopen("input.txt", "r", stdin); // vector<int> r1; // int n1, k1; // cin>>n1>>k1; // r1.assign(n1, 0); // for(int i = 0; i<n1; i++){ // cin>>r1[i]; // } // init(k1, r1); // int q; cin>>q; // for(int i = 0; i<q; i++){ // int a, b; // cin>>a>>b; // cout<<compare_plants(a, b)<<endl; // } // }
#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...