130322025-01-04 23:19:35ercseferencTalálkozáscpp17Time limit exceeded 19/55300ms1520 KiB
#include <iostream>
//#include <fstream>
using namespace std;
int a[100001],b[100001],c[100001];
int main()
{
    int n,x,y,maxi=0; //ifstream f("szamok.txt"); f>>n;
    cin>>n;
    for(int i=0; i<n; i++){cin>>x>>y; a[x]+=1; a[y+1]-=1; c[x]+=1;
        if(maxi<y)maxi=y;}
    int s=0; for(int i=1; i<=maxi; i++){s=s+a[i]; b[i]=s;}
    int kezd, veg, tart=100002,k,j,delta; bool megvan;
    k=b[1]; j=2; while(k<(n+1)/2){k=k+c[j]; j++;} delta=k-b[1];
    tart=j-1; kezd=1; veg=j-1;
    for(int i=1; i<=maxi; i++){
        if(i+tart-1<=maxi) delta=delta-c[i]+c[i+tart-1];
        else{
            k=b[i]; j=i+1; megvan=0;
            while(!megvan && j<=maxi){k=k+c[j]; j++;
                if(k>=(n+1)/2)megvan=1;}
            if(megvan&&tart>j-i){tart=j-i; kezd=i; veg=j-1; delta=k-b[i];}}
        if((n+1)/2<=b[i]+delta){
            k=b[i]; j=i+1; megvan=0;
            while(!megvan && j<=maxi){k=k+c[j]; j++;
                if(k>=(n+1)/2)megvan=1;}
            if(megvan&&tart>j-i){tart=j-i; kezd=i; veg=j-1; delta=k-b[i];}}}
    cout<<tart<<endl<<kezd<<" "<<veg;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base19/55
1Accepted0/01ms320 KiB
2Time limit exceeded0/0284ms1336 KiB
3Accepted2/21ms320 KiB
4Accepted2/21ms500 KiB
5Accepted2/21ms320 KiB
6Accepted2/24ms552 KiB
7Accepted2/24ms472 KiB
8Accepted3/34ms500 KiB
9Accepted3/313ms540 KiB
10Accepted3/316ms552 KiB
11Time limit exceeded0/3300ms824 KiB
12Time limit exceeded0/3300ms824 KiB
13Time limit exceeded0/3300ms800 KiB
14Time limit exceeded0/3279ms824 KiB
15Time limit exceeded0/3284ms940 KiB
16Time limit exceeded0/3300ms856 KiB
17Time limit exceeded0/3300ms824 KiB
18Time limit exceeded0/3284ms1336 KiB
19Time limit exceeded0/3287ms1336 KiB
20Time limit exceeded0/3298ms672 KiB
21Time limit exceeded0/3300ms1520 KiB
22Time limit exceeded0/3287ms1336 KiB