Submission #103538

#TimeUsernameProblemLanguageResultExecution timeMemory
103538ekremElection (BOI18_election)C++98
0 / 100
8 ms384 KiB
#include <bits/stdc++.h> #define st first #define nd second #define mp make_pair #define pb push_back #define mod 1000000007 #define N 1000005 using namespace std; typedef long long ll; int n, q, m, bas, son, say, ans, top, u[N], x[N]; char a[N]; int main() { // freopen("in.txt", "r", stdin); // freopen("out.txt", "w", stdout); scanf("%d %s %d",&n ,a + 1 ,&q); while(q--){ scanf("%d %d",&bas, &son); ans = say = 0; while(a[bas] == 'T' and bas <= son){ bas++; ans++; } while(a[son] == 'T' and son >= bas){ son--; ans++; } // cout << bas << " " << son << " " << ans << endl; m = 0; for(int i = bas; i <= son; i++){ say = 0; int j = i; while(a[j] == a[i]){ j++; say++; } x[++m] = say; // cout << say << " "; i = j - 1; } // cout << endl; top = 0; for(int i = 1; i <= m; i++){ if(i%2) top += x[i]; else{ ans += max(0, x[i] - min(top, x[i + 1])); top -= min(top, x[i + 1]); } } cout << ans << endl; } return 0; }

Compilation message (stderr)

election.cpp: In function 'int main()':
election.cpp:18:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %s %d",&n ,a + 1 ,&q);
  ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
election.cpp:20:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d",&bas, &son);
   ~~~~~^~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...