제출 #70592

#제출 시각아이디문제언어결과실행 시간메모리
70592octopusesAlternating Current (BOI18_alternating)C++17
19 / 100
95 ms18712 KiB
//Giorgi Kldiashvili
#include <bits/stdc++.h>

#define ll long long


using namespace std;

const int N = 100020;

vector < pair < int, int > > A[N];
int answer[N], S[2];
int n, m;

int main()
{
  scanf("%d %d", &n, &m);
  for(int i = 1; i <= m; ++ i)
  {
    int x, y;
    scanf("%d %d", &x, &y);
    A[x].push_back(make_pair(y, i));
  }
  S[0] = S[1] = 0;
  for(int i = 1; i <= n; ++ i)
  {
    for(int j = 0; j < A[i].size(); ++ j)
    {
      int c = (S[0] < S[1])?0:1;
      S[c] = max(S[c], A[i][j].first);
      answer[A[i][j].second] = c;
    }
    if(S[0] < i || S[1] < i)
      return printf("impossible"), 0;
  }
  for(int i = 1; i <= m; ++ i)
    printf("%d", answer[i]);
}

컴파일 시 표준 에러 (stderr) 메시지

alternating.cpp: In function 'int main()':
alternating.cpp:27:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int j = 0; j < A[i].size(); ++ j)
                    ~~^~~~~~~~~~~~~
alternating.cpp:17:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d", &n, &m);
   ~~~~~^~~~~~~~~~~~~~~~~
alternating.cpp:21:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d %d", &x, &y);
     ~~~~~^~~~~~~~~~~~~~~~~
#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...