Submission #1347419

#TimeUsernameProblemLanguageResultExecution timeMemory
1347419msb.83Gift Boxes (EGOI25_giftboxes)C++20
100 / 100
66 ms31788 KiB
//Rahman ve Rahim olan Allah'ın adıyla
#pragma GCC optimize("Ofast")
#include <bits/stdc++.h>
#define int long long
#define pb push_back
#define fi first
#define se second
#define mid (st+end)/2
using namespace std;
int32_t main(){
    ios_base::sync_with_stdio(false);cin.tie(0);
    //freopen("input.txt","r",stdin);freopen("output.txt","w",stdout);
    int t,n;cin>>t>>n;vector<int>arr(n);vector<vector<int>>tms(t);for(int i=0;i<n;i++){cin>>arr[i];tms[arr[i]].pb(i);}
    int mx=0;array<int,3>ans={n,0,n-1};vector<bool>vis(n,false);
    for(int i=0;i<t;i++){
        if(tms[i].size()<=1) continue;
        mx=max(tms[i][tms[i].size()-2],mx);
    }int i;
    for(i=0;i<n;i++){
        //cout<<i<<" "<<mx<<"\n";
        ans=min(ans,{mx-i+1,i,mx});
        if(vis[arr[i]]) break;
        vis[arr[i]]=true;mx=max(mx,tms[arr[i]][tms[arr[i]].size()-1]);
    }cout<<ans[1]<<" "<<ans[2];
}
#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...