(UPD: 2024-12-04 14:48 UTC) Judge is not working due to Cloudflare incident. (URL) We can do nothing about it, sorry. After the incident is resolved, we will grade all submissions.

Submission #198498

#TimeUsernameProblemLanguageResultExecution timeMemory
198498alishahali1382Nivelle (COCI20_nivelle)C++14
110 / 110
162 ms10996 KiB
#include <bits/stdc++.h> #pragma GCC optimize ("O2") #pragma GCC optimize ("unroll-loops") //#pragma GCC optimize("no-stack-protector,fast-math") using namespace std; typedef long long ll; typedef long double ld; typedef pair<int, int> pii; typedef pair<pii, int> piii; typedef pair<ll, ll> pll; #define debug(x) cerr<<#x<<'='<<(x)<<endl; #define debugp(x) cerr<<#x<<"= {"<<(x.first)<<", "<<(x.second)<<"}"<<endl; #define debug2(x, y) cerr<<"{"<<#x<<", "<<#y<<"} = {"<<(x)<<", "<<(y)<<"}"<<endl; #define debugv(v) cerr<<#v<<" : ";for (auto x:v) cerr<<x<<' ';cerr<<endl; #define all(x) x.begin(), x.end() #define pb push_back #define kill(x) return cout<<x<<'\n', 0; const ld eps=1e-7; const int inf=1000000010; const ll INF=10000000000000010LL; const int mod = 1000000007; const int MAXN = 100010, SGM=26; int n, m, k, u, v, x, y, t, a, b, ans1=SGM, ans2, L, R; int last[MAXN][SGM]; bool mark[SGM]; string S; void upd(int l, int r, int t){ if (t*ans2>(r-l+1)*ans1) return ; ans1=t; ans2=r-l+1; R=r; L=l; } int main(){ ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); //freopen("input.txt", "r", stdin); //freopen("output.txt", "w", stdout); cin>>n>>S; S="."+S; for (int i=1; i<=n; i++){ memcpy(last[i], last[i-1], sizeof(last[i])); last[i][S[i]-'a']=i; } for (int i=1; i<=n; i++){ memset(mark, 0, sizeof(mark)); int cnt=1; mark[S[i]-'a']=1; int l=i; upd(l, i, cnt); while (l){ int nl=0; for (int j=0; j<SGM; j++) if (!mark[j]) nl=max(nl, last[l][j]); l=nl; upd(l+1, i, cnt); mark[S[l]-'a']=1; cnt++; } } cout<<L<<' '<<R<<'\n'; return 0; }
#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...