Submission #8416466


Source Code Expand

/***************************************************************
	File name: b.cpp
	Author: huhao
	Create time: Wed 13 Nov 2019 09:23:26 AM CST
***************************************************************/
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
using namespace std;
#define fr(i,a,b) for(int i=(a),end_##i=(b);i<=end_##i;i++)
#define fd(i,a,b) for(int i=(a),end_##i=(b);i>=end_##i;i--)
int read()
{
	int r=0,t=1,c=getchar();
	while(c<'0'||c>'9')
	{
		t=c=='-'?-1:1;
		c=getchar();
	}
	while(c>='0'&&c<='9')
	{
		r=r*10+c-48;
		c=getchar();
	}
	return r*t;
}
#include<queue>
#define i64 long long
const int N=100010;
i64 na,nb,nc,n;
struct piii
{
	i64 a,b,c;
	piii(i64 A=0,i64 B=0,i64 C=0){a=A; b=B; c=C;}
}p[N];
inline i64& Max(i64& a,i64 b){return a<b?a=b:a;}
namespace bf
{
	const int N=110;
	i64 f[N][N][N];
	int main()
	{
		fr(i,0,na) fr(j,0,nb) fr(k,0,nc)
		{
			if(i) Max(f[i][j][k],f[i-1][j][k]+p[i+j+k].a);
			if(j) Max(f[i][j][k],f[i][j-1][k]+p[i+j+k].b);
			if(k) Max(f[i][j][k],f[i][j][k-1]+p[i+j+k].c);
		}
		printf("%lld\n",f[na][nb][nc]);
		return 0;
	}
}
namespace thinking_peach
{
	int cmp(piii a,piii b){return a.a-a.b>b.a-b.b;}
	i64 spre[N],ssuf[N],ans,pre[N],suf[N],d;
	priority_queue<i64> q;
	int main()
	{
		sort(p+1,p+n+1,cmp);
		fr(i,1,n) spre[i]=spre[i-1]+p[i].a;
		fd(i,n,1) ssuf[i]=ssuf[i+1]+p[i].b;
		while(!q.empty()) q.pop();
		d=0;
		fr(i,1,na) q.push(p[i].c-p[i].a);
		fr(i,na+1,n)
		{
			q.push(p[i].c-p[i].a);
			d+=q.top();
			q.pop();
			pre[i]=spre[i]+d;
		}
		while(!q.empty()) q.pop();
		d=0;
		fd(i,n,n-nb+1) q.push(p[i].c-p[i].b);
		fd(i,n-nb,1)
		{
			q.push(p[i].c-p[i].b);
			d+=q.top();
			q.pop();
			suf[i]=ssuf[i]+d;
		}
		pre[na]=spre[na]; suf[n-nb+1]=ssuf[n-nb+1];
		fr(i,na,n-nb) Max(ans,pre[i]+suf[i+1]);
		printf("%lld\n",ans);
		return 0;
	}
}
int main()
{
	na=read(); nb=read(); nc=read(); n=na+nb+nc;
	fr(i,1,n)
	{
		i64 a=read(),b=read(),c=read();
		p[i]=piii(a,b,c);
	}
	return thinking_peach::main();
}

Submission Info

Submission Time
Task C - Coins
User huhaoo
Language C++14 (GCC 5.4.1)
Score 800
Code Size 2096 Byte
Status AC
Exec Time 57 ms
Memory 8312 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 3 ms 5888 KB
sample_02.txt AC 3 ms 5888 KB
sample_03.txt AC 3 ms 5888 KB
subtask_1_01.txt AC 3 ms 5888 KB
subtask_1_02.txt AC 10 ms 6400 KB
subtask_1_03.txt AC 14 ms 6656 KB
subtask_1_04.txt AC 29 ms 7164 KB
subtask_1_05.txt AC 33 ms 7292 KB
subtask_1_06.txt AC 43 ms 7548 KB
subtask_1_07.txt AC 12 ms 6528 KB
subtask_1_08.txt AC 38 ms 7804 KB
subtask_1_09.txt AC 11 ms 6528 KB
subtask_1_10.txt AC 37 ms 7420 KB
subtask_1_11.txt AC 57 ms 7924 KB
subtask_1_12.txt AC 37 ms 7800 KB
subtask_1_13.txt AC 56 ms 8052 KB
subtask_1_14.txt AC 53 ms 7932 KB
subtask_1_15.txt AC 55 ms 7800 KB
subtask_1_16.txt AC 43 ms 8312 KB
subtask_1_17.txt AC 46 ms 8056 KB
subtask_1_18.txt AC 47 ms 7932 KB
subtask_1_19.txt AC 50 ms 7928 KB
subtask_1_20.txt AC 53 ms 7800 KB
subtask_1_21.txt AC 38 ms 7928 KB
subtask_1_22.txt AC 55 ms 7672 KB
subtask_1_23.txt AC 57 ms 8056 KB
subtask_1_24.txt AC 55 ms 7800 KB
subtask_1_25.txt AC 42 ms 8312 KB
subtask_1_26.txt AC 48 ms 7924 KB
subtask_1_27.txt AC 49 ms 7928 KB
subtask_1_28.txt AC 48 ms 7928 KB
subtask_1_29.txt AC 3 ms 5888 KB