# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
370660 | TLP39 | Sails (IOI07_sails) | C++14 | 86 ms | 8684 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
int main()
{
long long int n;
scanf("%lld",&n);
pair<long long int,long long int> kh[n];
long long int k,h;
for(long long int i=0;i<n;i++)
{
scanf("%lld %lld",&k,&h);
kh[i]={k,h};
}
sort(kh,kh+n);
map<long long int,long long int> change;
long long int ma=0,mi=100001;
auto it=change.begin();
long long int ch,hol1;
for(long long int i=0;i<n;i++)
{
k=kh[i].first;
h=kh[i].second;
if(k>ma && mi)
{
change[ma]=mi;
mi=0;
}
ma=k;
it=change.upper_bound(k-h);
it--;
if((*it).first==k-h)
{
(*it).second--;
if((*it).second==0) change.erase(it);
mi++;
}
else
{
ch=0;
hol1=(*it).first;
it++;
if(it==change.end()) ch=1;
if(ch)
{
change[h+hol1]=1;
change[hol1]--;
if(!change[hol1]) change.erase(hol1);
}
else
{
mi++;
change[hol1+((*it).first)-k+h]=1;
change[hol1]--;
if(!change[hol1]) change.erase(hol1);
change[(*it).first]--;
if(!change[(*it).first]) change.erase(it);
}
}
}
long long int val=100001;
long long int ans=0;
for(long long int i=0;i<ma;i++)
{
val-=change[i];
ans+=val*(val-1)/2;
}
printf("%lld",ans);
}
Compilation message (stderr)
# | 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... |
# | 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... |