| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1359707 | FZ_Laabidi | Gift Boxes (EGOI25_giftboxes) | C++20 | 877 ms | 35760 KiB |
#include <bits/stdc++.h>
#define int long long
#define F first
#define S second
using namespace std;
signed main(){
int t, n; cin >> t >> n;
vector<int>a(n);
for(int i=0; i<n; i++)cin >> a[i];
map<int, pair<int, int>> fir;
for(int i=0; i<t; i++)fir[i]= make_pair(-1, -1);
for(int i=0; i<n; i++){
if(fir[a[i]].first==-1)
fir[a[i]].first = i;
fir[a[i]].S = i;
}
// for(auto it: fir)cout << it.F << " " << it.second.F << " "<< it.S.S << '\n';
int x = 0, r = n+1, v = -1;
vector<bool> appear(t, false), apir(t, false);
for(int i = n-1; i>-1; i--){
v = i;
if(apir[a[i]])break;
apir[a[i]]= true;
}
r =v;
for(int i=0; i<n-1; i++){
if(appear[a[i]])break;
appear[a[i]]= true;
v = max(v, fir[a[i]].S);
// cout << i+1 << " "<< v << endl;
if(v-i<= r-x+1){
x = i+1; r = v;
}
}
cout << x << " "<< r << endl;
}| # | 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... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
