답안 #637492

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
637492 2022-09-02T08:57:26 Z Benmath Election (BOI18_election) C++14
0 / 100
12 ms 340 KB
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
string s;
cin>>s;
int q;
cin>>q;
while(q--){
   int l,r;
   cin>>l>>r;
   l--;
   r--;
   vector<int>v1;
   vector<int>v2;
   int ro=0;
   for(int i=l;i<=r;i++){
      if(s[i]=='C'){
         if(i!=l and s[i-1]=='T'){
            v1.push_back(0-ro);
            if(ro<0){
            ro=0;
            }
         }
         ro++;
      }else{
         
         ro--;
      }
   }
   if(s[r]=='T'){
      v1.push_back(0-ro);
   }
   int j=v1.size()-1;
   ro=0;
   int ans=0;

     for(int i=r;i>=l;i--){
      if(s[i]=='C'){
         if(i!=r and s[i+1]=='T'){
   if(ro<0){
          ans=ans+max(abs(ro),v1[j]);
          
            ro=ro+max(abs(ro),v1[j]);
            j--;
   }else if(v1[j]>0){
      ans=ans+v1[j];
      ro=ro+v1[j];
      j--;
   }else{
      j--;
   }
         
         }
         ro++;
      }else{
         
         ro--;
      }
   }
     
   if(s[l]=='T'){
      ans=ans+max(abs(ro),v1[j]);
   }
  
   cout<<ans<<endl;
}
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 12 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 12 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 12 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -