Submission #87054

#TimeUsernameProblemLanguageResultExecution timeMemory
87054abilWeighting stones (IZhO11_stones)C++14
0 / 100
1086 ms1120 KiB
/** Solution by Abil **/ #include <bits/stdc++.h> using namespace std; vector<int > v1,v2; vector<int > :: iterator it; int fun(int qw){ int f = 1,in = 0; for(int i = 0;i < v1.size(); i++){ while(in < v2.size() && v2[in] < v1[i]){ in++; } if(in >= v2.size()){ f = 0; break; } in++; } if(f){ return 2; } f = 1; in = 0; for(int i = 0;i < v2.size(); i++){ while(in < v1.size() && v1[in] < v2[i]){ in++; } if(in >= v1.size()){ f = 0; break; } in++; } if(f){ return 1; } else{ return 0; } } int main() { int n,ans = 0; cin >> n; int ves,dir; while(n--){ scanf("%d%d",&ves,&dir); if(dir == 1){ if(v1.size() > 0){ it = lower_bound(v1.begin(),v1.end(),ves); v1.insert(it,ves); } else{ v1.push_back(ves); } } else{ if(v2.size() > 0){ it = lower_bound(v2.begin(),v2.end(),ves); v2.insert(it,ves); } else{ v2.push_back(ves); } } if(ans == dir){ if(dir == 1){ puts(">"); } else{ puts("<"); } } else{ int f = fun(1); if(f == 0){ ans = 0; puts("?"); } else if(f == 1){ ans = 1; puts(">"); } else{ ans = 2; puts("<"); } } } } /* 7 1 1 2 2 3 1 4 2 5 1 6 2 7 1 */

Compilation message (stderr)

stones.cpp: In function 'int fun(int)':
stones.cpp:13:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i = 0;i < v1.size(); i++){
                 ~~^~~~~~~~~~~
stones.cpp:14:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while(in < v2.size() && v2[in] < v1[i]){
           ~~~^~~~~~~~~~~
stones.cpp:17:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if(in >= v2.size()){
        ~~~^~~~~~~~~~~~
stones.cpp:28:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i = 0;i < v2.size(); i++){
                 ~~^~~~~~~~~~~
stones.cpp:29:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while(in < v1.size() && v1[in] < v2[i]){
           ~~~^~~~~~~~~~~
stones.cpp:32:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if(in >= v1.size()){
        ~~~^~~~~~~~~~~~
stones.cpp: In function 'int main()':
stones.cpp:52:12: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
       scanf("%d%d",&ves,&dir);
       ~~~~~^~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...