| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1357000 | biserailieva | Gift Boxes (EGOI25_giftboxes) | C++20 | 257 ms | 25832 KiB |
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, t;
cin>>t>>n;
set<int>st;
int A[n];
int L=-1, R=-1;
bool vtor=true;
for(int i=0;i<n;i++)
{
cin>>A[i];
st.insert(A[i]);
if(n==t+1 && st.size()<i+1 && L==-1 && R==-1)
{
L=i;
R=i;
}
if(i<n/2 && st.size()<i+1)
{
vtor=false;
}
}
if(n==t+1)
{
cout<<L<<' '<<R<<endl;
}
if(vtor && n==2*t)
{
cout<<0<<' '<<n/2-1<<endl;
}
else if(!vtor && n==2*t)
{
int l=n/2;
int r=n;
int ans=n;
while(l<=r)
{
map<int, int>freq;
int mid=(l+r)/2;
int cnt=0;
bool valid=false;
for(int i=0;i<mid;i++)
{
freq[A[i]]++;
if(freq[A[i]]==1)
{
cnt++;
}
}
if(cnt==n/2)
{
valid=true;
}
if(valid)
{
ans=mid;
L=0;
R=mid;
r=mid-1;
}
else
{
int j=mid-1;
while(j<n)
{
if(freq[A[j-mid]]==1)
{
cnt--;
}
freq[A[j-mid]]--;
freq[A[j]]++;
if(freq[A[j]]==1)
{
cnt++;
}
if(cnt==n/2)
{
valid=true;
}
if(valid)
{
ans=mid;
L=j-mid+1;
R=j;
r=mid-1;
break;
}
else
{
j++;
}
}
if(!valid)
{
l=mid+1;
}
}
}
cout<<L<<' '<<R<<endl;
}
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... | ||||
