Submission #1012465

#TimeUsernameProblemLanguageResultExecution timeMemory
1012465AlmontherDifference (POI11_roz)C++98
60 / 100
1057 ms15888 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[100]; void solve(){ cin>>n>>s; for(int i=0;i<n;i++) v[s[i]-'a'].push_back(i); for(int i=0;i<27;i++){ if(v[i].size()==0) continue; for(int j=0;j<27;j++){ if(v[j].size()==0) continue; ll l,r; l=r=0; vector<ll>arr; vector<ll>pref; 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; pref.push_back(curr); } ll last=0; for(int k=0;k<pref.size();k++){ if(arr[k]==-1){ for(int r=last;r<k;r++) mn=min(mn,pref[r]); mn=min(mn,0ll); last=k; } mx=max(mx,pref[k]-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:23: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]
   23 |             while(l!=v[i].size()||r!=v[j].size()){
      |                   ~^~~~~~~~~~~~~
roz.cpp:23: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]
   23 |             while(l!=v[i].size()||r!=v[j].size()){
      |                                   ~^~~~~~~~~~~~~
roz.cpp:24: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]
   24 |                 if(l==v[i].size()){
      |                    ~^~~~~~~~~~~~~
roz.cpp:28: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]
   28 |                 else if(r==v[j].size()){
      |                         ~^~~~~~~~~~~~~
roz.cpp:48:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   48 |             for(int k=0;k<pref.size();k++){
      |                         ~^~~~~~~~~~~~
#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...