Submission #1693361


Source Code Expand

#include<cstdio>
#include<queue>
#include<algorithm>
using namespace std;
inline char tc(void){
	static char fl[10000],*A=fl,*B=fl;
	return A==B&&(B=(A=fl)+fread(fl,1,10000,stdin),A==B)?EOF:*A++;
}
inline int read(void){
	int a=0;static char c;
	while((c=tc())<'0'||c>'9');
	while(c>='0'&&c<='9')a=a*10+c-'0',c=tc();
	return a;
}
struct Y{
	int a,b,p;
	bool operator <(const Y&a)const{
		return p>a.p;
	}
}k[100005];
int x,y,z,n,sum;
long long ans=-1e18,ans1,ans2,c;
char b[100005];
priority_queue<int,vector<int>,greater<int> >sum2;
priority_queue<pair<int,int>,vector<pair<int,int> >,less<pair<int,int> > >sum1;
int main(void){
	register int i,wjnsb;
	x=read(),y=read(),z=read(),n=x+y+z;
	for(i=1;i<=n;++i){
		k[i].a=read(),k[i].b=read(),wjnsb=read(),k[i].a-=wjnsb,k[i].b-=wjnsb,
		k[i].p=k[i].a-k[i].b,c+=wjnsb;
	}
	sort(k+1,k+n+1);
	for(i=1;i<=x;++i)
		sum2.push(k[i].a),ans1+=k[i].a;
	for(i=x+1;i<=n;++i)
		sum1.push(make_pair(k[i].b,i));
	for(i=1;i<=y;++i)
		b[sum1.top().second]=1,ans2+=sum1.top().first,sum1.pop();
	n-=y;
	ans=max(ans1+ans2,ans);
	for(i=x+1;i<=n;++i){
		sum2.push(k[i].a),ans1+=k[i].a,ans1-=sum2.top(),sum2.pop();
		if(b[i]==1){
			ans2-=k[i].b;
			while(b[sum1.top().second])
				sum1.pop();
			b[sum1.top().second]=1,ans2+=sum1.top().first,sum1.pop();
		}
		b[i]=1,ans=max(ans1+ans2,ans);
	}
	printf("%lld",ans+c);
	return 0;
}

Submission Info

Submission Time
Task C - Coins
User Axcosin
Language C++14 (GCC 5.4.1)
Score 800
Code Size 1407 Byte
Status AC
Exec Time 27 ms
Memory 2748 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 800 / 800
Status
AC × 3
AC × 35
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 1 ms 256 KB
subtask_1_01.txt AC 1 ms 256 KB
subtask_1_02.txt AC 5 ms 896 KB
subtask_1_03.txt AC 5 ms 1056 KB
subtask_1_04.txt AC 11 ms 1408 KB
subtask_1_05.txt AC 15 ms 1660 KB
subtask_1_06.txt AC 19 ms 1916 KB
subtask_1_07.txt AC 5 ms 768 KB
subtask_1_08.txt AC 23 ms 2444 KB
subtask_1_09.txt AC 4 ms 768 KB
subtask_1_10.txt AC 16 ms 1916 KB
subtask_1_11.txt AC 19 ms 2168 KB
subtask_1_12.txt AC 12 ms 2300 KB
subtask_1_13.txt AC 16 ms 2044 KB
subtask_1_14.txt AC 26 ms 2680 KB
subtask_1_15.txt AC 25 ms 2680 KB
subtask_1_16.txt AC 22 ms 2572 KB
subtask_1_17.txt AC 22 ms 2300 KB
subtask_1_18.txt AC 21 ms 2680 KB
subtask_1_19.txt AC 27 ms 2680 KB
subtask_1_20.txt AC 24 ms 2680 KB
subtask_1_21.txt AC 12 ms 2296 KB
subtask_1_22.txt AC 20 ms 2172 KB
subtask_1_23.txt AC 21 ms 2300 KB
subtask_1_24.txt AC 25 ms 2680 KB
subtask_1_25.txt AC 21 ms 2560 KB
subtask_1_26.txt AC 19 ms 2168 KB
subtask_1_27.txt AC 20 ms 2296 KB
subtask_1_28.txt AC 27 ms 2748 KB
subtask_1_29.txt AC 1 ms 256 KB