답안 #87039

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
87039 2018-11-29T09:17:35 Z abil 돌 무게 재기 (IZhO11_stones) C++14
0 / 100
2 ms 256 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 = 0;
  if(v1.size() == v2.size()){
    bool bl = true;
    for(int i = 0;i < v1.size(); i++){
        if(v1[i] < v2[i]){
          bl = false;
          break;
        }
    }
    if(bl){
      f = 1;
    }
    bl = true;
    for(int i = 0;i < v1.size(); i++){
        if(v1[i] > v2[i]){
          bl = false;
          break;
        }
    }
    if(bl){
      f = 2;
    }
  }
  else{
    int cnt1 = 0,cnt2 = 0,in = 0;
    for(int i = 0;i < v1.size(); i++){
      if(in < v2.size() && v1[i] > v2[in] ){
        cnt1++;
        in++;
      }
    }
    in = 0;
    for(int i = 0;i < v2.size(); i++){
      if(in < v1.size() && v1[in] < v2[i]){
        cnt2++;
        in++;
      }
    }
    //cout << cnt1 << " " << cnt2 << endl;
    if(cnt1 > cnt2 ||( cnt1 == cnt2 && v1.size() > v2.size())){
      f = 1;
    }
    if(cnt2 > cnt1 ||( cnt1 == cnt2 && v1.size() < v2.size())){
      f = 2;
    }
  }
  return f;
}
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:15:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i = 0;i < v1.size(); i++){
                   ~~^~~~~~~~~~~
stones.cpp:25:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i = 0;i < v1.size(); i++){
                   ~~^~~~~~~~~~~
stones.cpp:37:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i = 0;i < v1.size(); i++){
                   ~~^~~~~~~~~~~
stones.cpp:38:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       if(in < v2.size() && v1[i] > v2[in] ){
          ~~~^~~~~~~~~~~
stones.cpp:44:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i = 0;i < v2.size(); i++){
                   ~~^~~~~~~~~~~
stones.cpp:45:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       if(in < v1.size() && v1[in] < v2[i]){
          ~~~^~~~~~~~~~~
stones.cpp: In function 'int main()':
stones.cpp:62:11: warning: unused variable 'ans1' [-Wunused-variable]
     int n,ans1 = 0,ans2 = 0;
           ^~~~
stones.cpp:62:20: warning: unused variable 'ans2' [-Wunused-variable]
     int n,ans1 = 0,ans2 = 0;
                    ^~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -