| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1358741 | imchy | Gift Boxes (EGOI25_giftboxes) | C++20 | 111 ms | 27696 KiB |
#include <bits/stdc++.h>
using namespace std;
int main(){
int t, n, c;
cin>>t>>n;
vector<vector<int>> con(t);
for(int i=0;i<n;i++){
cin>>c;
con[c].push_back(i);
}
int id1=n, id2=0, f=0, ff=0;
for(int i=0;i<t;i++){
if(con[i].size()==2){
f++;
if(con[i][0]<n/2 and con[i][1]>=n/2)
ff++;
}
if(con[i].size()>1){
int b=0;
for(int j=0;j<con[i].size();j++){
if(con[i][j]>=id1 and con[i][j]<=id2){
b++;
}
}
if(b>=con[i].size()-1){
b=0;
continue;
}
if(con[i][0]<id1 and con[i][con[i].size()-1]>id2){
if(con[i][0]==0){
id1=min(id1, con[i][1]);
id2=max(id2, con[i][con[i].size()-1]);
}
else if(con[i][con[i].size()-1]==n-1){
id1=min(id1, con[i][0]);
id2=max(id2, con[i][con[i].size()-2]);
}
else{
if(id1-con[i][0]<con[i][con[i].size()-1]-id2){
id1=con[i][0];
id2=max(id2, con[i][con[i].size()-2]);
}
else{
id1=min(con[i][1], id1);
id2=con[i][con[i].size()-1];
}
}
}
else{
id1=min(id1, con[i][1]);
id2=max(id2, con[i][con[i].size()-2]);
}
}
}
if(n==2*t and ff==t and f==t){
id1=0;
id2=n/2-1;
}
cout<<id1<<" "<<id2;
return 0;
}
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
