Submission #138737

#TimeUsernameProblemLanguageResultExecution timeMemory
138737WongHokFong_cppSails (IOI07_sails)C++14
30 / 100
1078 ms3896 KiB
#include <iostream>
#include <cstdlib>
#include <algorithm>
#include <queue> 
using namespace std;
typedef long long ll;
ll n,h,k,height,mini,s,c;
struct smg
{
	ll h,k;
}f[100001],flagged[100001];
bool cmp(smg a,smg b)
{
	return a.h<b.h;
}
bool cmp2(smg a,smg b)
{
	return a.h<b.h;
}
bool cmp3(smg a,smg b)
{
	return a.k<b.k;
}
int main(void)
{
	cin>>n;
	for (int i=1;i<=n;i++)
	{
		cin>>h>>k;height=max(h,height);f[i].h=h;f[i].k=k;
	}
	sort(f+1,f+n+1,cmp);
	for (int i=1;i<=height;i++) flagged[i].k=i;
	for (int i=1;i<=n;i++)
	{
		sort(flagged+1,flagged+f[i].h+1,cmp2);
		for (int j=1;j<=f[i].k;j++)
		{
			flagged[j].h++;
		}
	}
	for (int i=1;i<=height;i++) s+=(flagged[i].h-1)*flagged[i].h/2;
	cout<<s;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...