Submission #87048

# Submission time Handle Problem Language Result Execution time Memory
87048 2018-11-29T09:42:27 Z abil Weighting stones (IZhO11_stones) C++14
0 / 100
1000 ms 1004 KB
/**
   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,ans1 = 0,ans2 = 0;
    cin >> n;
    int ves,dir;
    while(n--){
      cin >> 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);
        }
      }
      int f = fun(1);
      if(f == 0){
        cout << "?" << endl;
      }
      else
      if(f == 1){
        cout << ">" << endl;
      }
      else{
        cout << "<" << endl;
      }
    }
}
/*
7
1 1
2 2
3 1
4 2
5 1
6 2
7 1
*/

Compilation message

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:47:11: warning: unused variable 'ans1' [-Wunused-variable]
     int n,ans1 = 0,ans2 = 0;
           ^~~~
stones.cpp:47:20: warning: unused variable 'ans2' [-Wunused-variable]
     int n,ans1 = 0,ans2 = 0;
                    ^~~~
# Verdict Execution time Memory Grader output
1 Correct 3 ms 256 KB Output is correct
2 Correct 2 ms 372 KB Output is correct
3 Correct 3 ms 392 KB Output is correct
4 Correct 2 ms 436 KB Output is correct
5 Correct 3 ms 436 KB Output is correct
6 Correct 4 ms 436 KB Output is correct
7 Correct 5 ms 460 KB Output is correct
8 Correct 6 ms 512 KB Output is correct
9 Correct 6 ms 512 KB Output is correct
10 Correct 74 ms 588 KB Output is correct
11 Execution timed out 1062 ms 1004 KB Time limit exceeded
12 Halted 0 ms 0 KB -