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;
const long long mod=998244353;
multiset<int>ms;
int n,k;
map<int,int>a;
vector<int>v[1000006];
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
//freopen("lemonade.in","r",stdin);
//freopen("lemonade.out","w",stdout);
cin>>n;
for(int i=0;i<n;i++)
{
int x,y;
cin>>x>>y;
x/=2;
y/=2;
if(a[y+1]==0)a[y+1]=++k;
if(v[a[y+1]].size()==0)
{
v[a[y+1]].push_back(x);
ms.insert(x);
continue;
}
if(*v[a[y+1]].begin()<x)
{
ms.erase(ms.find(*v[a[y+1]].begin()));
ms.insert(x);
v[a[y+1]].clear();
v[a[y+1]].push_back(x);
}
}
long long ans=0;
for(int i=1;i<=10000004;i++)
{
if(v[a[i]].size())
{
int x=*v[a[i]].begin();
ms.erase(ms.find(x));
}
if(ms.size()==0)break;
ans+=*--ms.end();
}
cout<<ans*4;
}
# | 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... |