10-11 класс
Есеп D. Кезектес жаттығулар
Алан шахмат пен бағдарламалау есеперін шығаруды жақсы көреді. Екі жерді де жақсы алып жүргіп, аты аңызға айналған гроссмейстер атағын алғысы келеді. Айдос тәжірибелі бапкер болғандықтан, Аланға көмек бермекші. Айдостың алдын ала белгілі бір келесі $n$ күнге кестесі бар. Кестенің әр күнінде Айдос әрбір жақтың бір ғана түрін, не шахмат, не бағдармалау есептеріне дайындайды. Алан жаттығу үшін өзіне бірнеше қатарынан келетін күндердерді алғысы келеді. Және де, Алан қатарынан бірнеше күн бірдей ермек түріне жаттықан кезде қатты шаршайды, яғни Аланға күн сайын шахмат пен бағдарламалауды кезектестіруі керек. Аланға шаршамайтындай, берілген кестеден ең ұзын қатарлас жаттығу күндерін таңдап алуға көмек қажет.
Комментарий/решение:
Почему Ошибка Исполнения?
#include <bits/stdc++.h>
using namespace std;
int tl[200005];
int main(){
int n,m;
cin>>n>>m;
string s;
cin>>s;
for(int i=0;i<m;i++){
int l,r;
cin>>l>>r;
if(l>r){
swap(l,r);
}
tl[l]+=1;
tl[r+1]+=-1;
}
int rev=0;
for(int i=1;i<=n;i++){
rev+=tl[i];
if(rev%2==1){
if(s[i-1]=='0')s[i-1]='1';
else s[i-1]='0';
}
}
int mx=1,cnt=1;
for(int i=1;i<s.size();i++){
if(s[i]!=s[i-1]){
cnt++;
}
else{
mx=max(cnt,mx);
cnt=1;
}
}
mx=max(cnt,mx);
cnt=1;
cout<<mx;
}
Возможно, что при неправильном наборе формул, они будут
доредактированы модератором. При этом содержание не будет меняться.