Submission #1073842

#TimeUsernameProblemLanguageResultExecution timeMemory
1073842tolbiComparing Plants (IOI20_plants)C++17
5 / 100
98 ms8796 KiB


    #include "plants.h"
    #include <set>
    std::vector<int> r;
    std::set<int> st;
    void init(int k, std::vector<int> r) {
    	::r=r;
    	for (int i = 0; i < r.size(); i++){
    		if (r[i]!=r[(i+r.size()-1)%r.size()]){
    			st.insert(i);
    		}
    	}
    }
     
    int compare_plants(int x, int y) {
    	if (st.lower_bound(x+1)==st.end() || *st.lower_bound(x+1)>=y){
    		return r[x]?-1:1;
    	}
    	if (st.lower_bound(y+1)==st.end() && *st.begin()>=x){
    		return r[y]?1:-1;
    	}
    	return 0;
    }

Compilation message (stderr)

plants.cpp: In function 'void init(int, std::vector<int>)':
plants.cpp:9:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    9 |      for (int i = 0; i < r.size(); i++){
      |                      ~~^~~~~~~~~~
#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...