2663 | 2023. 01. 18 13:33:27 | kicsiboglar | Találkozás | cpp11 | Hibás válasz 52/55 | 87ms | 15496 KiB |
#include <iostream>
//#include <fstream>
#include <vector>
#include <deque>
#include <algorithm>
#include <climits>
#include <map>
#define ll long long
using namespace std;
//ifstream cin ("input.in");
//ofstream cout ("output.out");
ll n,m,i,j,a,b,len=LLONG_MAX,start,nr,pos,mini=LLONG_MAX,curr;
struct element
{
ll start=0,stop=0;
};
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
cin>>n;
map<ll,element> x;
for (i=1;i<=n;++i)
{
cin>>a>>b;
if (b-a+1<len)
{
len=b-a+1;
pos=a;
}
//len=min(len,b-a+1);
x[a].start++;
x[b].stop++;
}
if (n<=2)
{
cout<<"1"<<"\n"<<pos<<" "<<pos;
return 0;
}
deque <ll> v;
a=0;
ll half=(n+1)/2;
pos=1;
for (auto &e:x)
{
v.push_back(e.first);
a+=e.second.start;
while (!v.empty()&&a>half)
{
if (a-x[v[0]].stop>=half)
{
a-=x[v[0]].stop;
v.pop_front();
}
else break;
}
if (a>=half&&e.first-v[0]+1<mini)
{
mini=e.first-v[0]+1;
pos=v[0];
}
while (a==half&&!v.empty())
{
if (x[v[0]].stop>0) break;
else v.pop_front();
}
if (a>=half&&e.first-v[0]+1<mini)
{
mini=e.first-v[0]+1;
pos=v[0];
}
}
cout<<mini<<"\n"<<pos<<" "<<pos+mini-1;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 52/55 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1832 KiB | |||
2 | Elfogadva | 0/0 | 78ms | 13448 KiB | |||
3 | Elfogadva | 2/2 | 2ms | 2300 KiB | |||
4 | Elfogadva | 2/2 | 2ms | 2424 KiB | |||
5 | Elfogadva | 2/2 | 2ms | 2636 KiB | |||
6 | Elfogadva | 2/2 | 2ms | 2728 KiB | |||
7 | Elfogadva | 2/2 | 2ms | 3004 KiB | |||
8 | Elfogadva | 3/3 | 2ms | 2924 KiB | |||
9 | Elfogadva | 3/3 | 2ms | 2936 KiB | |||
10 | Elfogadva | 3/3 | 2ms | 3032 KiB | |||
11 | Elfogadva | 3/3 | 7ms | 4596 KiB | |||
12 | Elfogadva | 3/3 | 9ms | 5364 KiB | |||
13 | Elfogadva | 3/3 | 9ms | 5456 KiB | |||
14 | Elfogadva | 3/3 | 16ms | 7044 KiB | |||
15 | Elfogadva | 3/3 | 16ms | 7012 KiB | |||
16 | Elfogadva | 3/3 | 16ms | 7076 KiB | |||
17 | Elfogadva | 3/3 | 16ms | 7184 KiB | |||
18 | Elfogadva | 3/3 | 27ms | 9760 KiB | |||
19 | Hibás válasz | 0/3 | 87ms | 12164 KiB | |||
20 | Elfogadva | 3/3 | 20ms | 3836 KiB | |||
21 | Elfogadva | 3/3 | 81ms | 15280 KiB | |||
22 | Elfogadva | 3/3 | 75ms | 15496 KiB |