답안 #69518

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
69518 2018-08-21T07:14:04 Z octopuses Election (BOI18_election) C++17
28 / 100
10 ms 1104 KB
//Giorgi Kldiashvili

#include <bits/stdc++.h>

#define ll long long
#define fr first
#define sc second
#define M 1000000007ll

using namespace std;

const int N = 50020;

char ch[N];
bool C[N];
int L[N], R[N];
int n, m, l, r;
int A, B;

int main()
{
  scanf("%d\n", &n);
  scanf("%s", &ch);
  for(int i = 1; i <= n; ++ i)
  {
    int x = (ch[i - 1] == 'C')?1:-1;
    L[i] = L[i - 1] + x;
  }
  for(int i = n; i >= 1; -- i)
  {
    int x = (ch[i - 1] == 'C')?1:-1;
    R[i] = R[i + 1] + x;
  }
  scanf("%d", &m);
  while(m --)
  {
    scanf("%d %d", &l, &r);
    int last = 0;
    int answer = 0;
    for(int i = l; i <= r; ++ i)
      C[i] = false;
    for(int i = l; i <= r; ++ i)
    {
      last += (ch[i - 1] == 'C')?1:-1;
      if(last < 0)
      {
        answer ++;
        C[i] = true;
        last ++;
      }
    }
    last = 0;
    for(int i = r; i >= l; -- i)
    {
      if(C[i])  continue;
      last += (ch[i - 1] == 'C')?1:-1;
      if(last < 0)
      {
        answer ++;
        last ++;
      }
    }
    printf("%d\n", answer);
  }
}

Compilation message

election.cpp: In function 'int main()':
election.cpp:23:18: warning: format '%s' expects argument of type 'char*', but argument 2 has type 'char (*)[50020]' [-Wformat=]
   scanf("%s", &ch);
               ~~~^
election.cpp:22:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d\n", &n);
   ~~~~~^~~~~~~~~~~~
election.cpp:23:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%s", &ch);
   ~~~~~^~~~~~~~~~~
election.cpp:34:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", &m);
   ~~~~~^~~~~~~~~~
election.cpp:37:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d %d", &l, &r);
     ~~~~~^~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 376 KB Output is correct
2 Correct 7 ms 376 KB Output is correct
3 Correct 6 ms 448 KB Output is correct
4 Correct 10 ms 512 KB Output is correct
5 Correct 7 ms 604 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 376 KB Output is correct
2 Correct 7 ms 376 KB Output is correct
3 Correct 6 ms 448 KB Output is correct
4 Correct 10 ms 512 KB Output is correct
5 Correct 7 ms 604 KB Output is correct
6 Execution timed out 3 ms 1104 KB Time limit exceeded (wall clock)
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 376 KB Output is correct
2 Correct 7 ms 376 KB Output is correct
3 Correct 6 ms 448 KB Output is correct
4 Correct 10 ms 512 KB Output is correct
5 Correct 7 ms 604 KB Output is correct
6 Execution timed out 3 ms 1104 KB Time limit exceeded (wall clock)
7 Halted 0 ms 0 KB -