# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
685572 | MtSaka | Boarding Passes (BOI22_passes) | C++17 | 193 ms | 48796 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using ll=long long;
#define rep(i,a,b) for(ll i=(ll)a;i<(ll)b;++i)
#define rrep(i,a,b) for(ll i=(ll)b-1;i>=(ll)a;--i)
using namespace std;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
string S;cin>>S;
vector<int>s;
for(auto&e:S)s.push_back(e-'A');
const int n=s.size();
const int g=*max_element(s.begin(),s.end())+1;
vector idx(g,vector<int>());
rep(i,0,n)idx[s[i]].push_back(i);
vector prefix(g,vector<ll>(n,0));
auto suffix=prefix;
vector suml(g,vector<ll>(n,0));
auto sumr=suml;
rep(i,0,n){
prefix[s[i]][i]++;
suffix[s[i]][i]++;
}
rep(i,0,g){
rep(j,0,n-1)prefix[i][j+1]+=prefix[i][j];
rrep(j,0,n-1)suffix[i][j]+=suffix[i][j+1];
}
vector<int>last(g,-1);
rep(i,0,n){
rep(j,0,g)suml[j][i]=prefix[j][i];
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |