Submission #791126

#TimeUsernameProblemLanguageResultExecution timeMemory
791126alexander707070Comparing Plants (IOI20_plants)C++14
5 / 100
60 ms7916 KiB
#include<bits/stdc++.h>
#define MAXN 200007
using namespace std;

int n,perm[MAXN],k,minpos,maxpos;
int pref[MAXN],sum,inv;

void init(int K,vector<int> R){
    n=int(R.size()); k=K;

    for(int i=0;i<n;i++){
        pref[i+1]=R[i];
        pref[i+1]+=pref[i];
        sum+=R[i];
    }
}

int compare_plants(int x, int y){
    if(x>y){
        swap(x,y); inv=-1;
    }else{
        inv=1;
    }

    x++; y++;

    if(pref[y-1]-pref[x-1]==0)return 1*inv;
    if(pref[y-1]-pref[x-1]==y-x)return -1*inv;

    if(sum-(pref[y-1]-pref[x-1])==0)return -1*inv;
    if(sum-(pref[y-1]-pref[x-1])==n-(y-x))return 1*inv;

    return 0;
}


/*
int main(){
    init(1,{1,0,0,1,0,0});
    cout<<compare_plants(0,4)<<"\n";
    cout<<compare_plants(1,3)<<"\n";
    cout<<compare_plants(2,1)<<"\n";
    cout<<compare_plants(2,0)<<"\n";
    cout<<compare_plants(3,4)<<"\n";
}

*/

#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...