Submission #1012454

#TimeUsernameProblemLanguageResultExecution timeMemory
1012454AlmontherDifference (POI11_roz)C++98
30 / 100
682 ms25996 KiB
#include<bits/stdc++.h>

#define ll long long
#define co cout<<
#define suiii ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
// stuff
ll n;
string s;
ll mx=0;
vector<ll>v[28];
void solve(){
    cin>>n>>s;
    for(int i=0;i<n;i++) v[s[i]-'a'].push_back(i);
    for(int i=0;i<26;i++){
        if(v[i].size()==0) continue;
        for(int j=0;j<26;j++){
            ll l,r;
            l=r=0;
            vector<ll>arr;
            while(l!=v[i].size()||r!=v[j].size()){
                if(l==v[i].size()){
                    r++;
                    arr.push_back(-1);
                }
                else if(r==v[j].size()){
                    l++;
                    arr.push_back(1);
                }
                else{
                    if(v[i][l]<v[j][r]){
                        l++;
                        arr.push_back(1);
                    }
                    else{
                        r++;
                        arr.push_back(-1);
                    }
                }
            }
            ll curr=0;
            ll mn=1e18;
            for(auto k:arr){
                curr+=k;
                if(k==-1){
                    mn=min(mn,curr);
                }
                mx=max(mx,curr-mn);
            }
        }
    }
    
    co mx;
}

int main(){
    suiii
    int tt=1;
    // cin>>tt;
    while(tt--){
        solve();
    }
}

Compilation message (stderr)

roz.cpp: In function 'void solve()':
roz.cpp:21:20: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   21 |             while(l!=v[i].size()||r!=v[j].size()){
      |                   ~^~~~~~~~~~~~~
roz.cpp:21:36: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   21 |             while(l!=v[i].size()||r!=v[j].size()){
      |                                   ~^~~~~~~~~~~~~
roz.cpp:22:21: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |                 if(l==v[i].size()){
      |                    ~^~~~~~~~~~~~~
roz.cpp:26:26: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |                 else if(r==v[j].size()){
      |                         ~^~~~~~~~~~~~~
#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...
#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...