Submission #1692167


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e5+10;
int x,y,z,a[N],b[N],c[N],tp[N];
typedef pair<int,int> pii;
set<pii> xy,xz,yz,yx,zx,zy;
void x_to_y(){
	int p=xy.begin()->second;
	xy.erase(pii(a[p]-b[p],p));
	xz.erase(pii(a[p]-c[p],p));
	yx.insert(pii(b[p]-a[p],p));
	yz.insert(pii(b[p]-c[p],p));
	tp[p]=1;
}
void x_to_z(){
	int p=xz.begin()->second;
	xy.erase(pii(a[p]-b[p],p));
	xz.erase(pii(a[p]-c[p],p));
	zy.insert(pii(c[p]-b[p],p));
	zx.insert(pii(c[p]-a[p],p));
	tp[p]=2;
}
void y_to_x(){
	int p=yx.begin()->second;
	yz.erase(pii(b[p]-c[p],p));
	yx.erase(pii(b[p]-a[p],p));
	xy.insert(pii(a[p]-b[p],p));
	xz.insert(pii(a[p]-c[p],p));
	tp[p]=0;
}
void y_to_z(){
	int p=yz.begin()->second;
	yz.erase(pii(b[p]-c[p],p));
	yx.erase(pii(b[p]-a[p],p));
	zx.insert(pii(c[p]-a[p],p));
	zy.insert(pii(c[p]-b[p],p));
	tp[p]=2;
}
void z_to_x(){
	int p=zx.begin()->second;
	zx.erase(pii(c[p]-a[p],p));
	zy.erase(pii(c[p]-b[p],p));
	xy.insert(pii(a[p]-b[p],p));
	xz.insert(pii(a[p]-c[p],p));
	tp[p]=0;
}
void z_to_y(){
	int p=zy.begin()->second;
	zx.erase(pii(c[p]-a[p],p));
	zy.erase(pii(c[p]-b[p],p));
	yx.insert(pii(b[p]-a[p],p));
	yz.insert(pii(b[p]-c[p],p));
	tp[p]=1;
}
int main()
{
	scanf("%d%d%d",&x,&y,&z);
	for (int i=1;i<=x+y+z;i++) scanf("%d%d%d",&a[i],&b[i],&c[i]);
	ll ans=0;
	for (int i=1;i<=x;i++){
		ans+=a[i];
		xy.insert(pii(a[i]-b[i],i));
		xz.insert(pii(a[i]-c[i],i));
		tp[i]=0;
	}
	for (int i=x+1;i<=x+y;i++){
		ans+=b[i];
		yz.insert(pii(b[i]-c[i],i));
		yx.insert(pii(b[i]-a[i],i));
		tp[i]=1;
	}
	for (int i=x+y+1;i<=x+y+z;i++){
		ans+=c[i];
		zx.insert(pii(c[i]-a[i],i));
		zy.insert(pii(c[i]-b[i],i));
		tp[i]=2;
	}
	while (1){
		ll XY=-xy.begin()->first,XZ=-xz.begin()->first;
		ll YZ=-yz.begin()->first,YX=-yx.begin()->first;
		ll ZX=-zx.begin()->first,ZY=-zy.begin()->first;
		ll tp1=XY+YX,tp2=XZ+ZX,tp3=YZ+ZY,tp4=XY+YZ+ZX,tp5=XZ+ZY+YX;
		ll Max=max(max(tp1,tp2),max(tp3,max(tp4,tp5)));
		if (Max<=0) break;
		ans+=Max;
		if (tp1==Max) x_to_y(),y_to_x();else
		if (tp2==Max) x_to_z(),z_to_x();else
		if (tp3==Max) y_to_z(),z_to_y();else
		if (tp4==Max) x_to_y(),y_to_z(),z_to_x();else
		if (tp5==Max) x_to_z(),z_to_y(),y_to_x();
	}
	printf("%lld\n",ans);
	return 0;
}

Submission Info

Submission Time
Task C - Coins
User FoolMike
Language C++14 (GCC 5.4.1)
Score 800
Code Size 2322 Byte
Status AC
Exec Time 174 ms
Memory 11136 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:58:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d%d",&x,&y,&z);
                          ^
./Main.cpp:59:62: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  for (int i=1;i<=x+y+z;i++) scanf("%d%d%d",&a[i],&b[i],&c[i]);
                                                              ^

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 19 ms 2048 KB
subtask_1_03.txt AC 20 ms 3712 KB
subtask_1_04.txt AC 74 ms 6016 KB
subtask_1_05.txt AC 85 ms 6784 KB
subtask_1_06.txt AC 121 ms 8704 KB
subtask_1_07.txt AC 26 ms 2816 KB
subtask_1_08.txt AC 109 ms 9344 KB
subtask_1_09.txt AC 24 ms 2560 KB
subtask_1_10.txt AC 107 ms 8448 KB
subtask_1_11.txt AC 149 ms 11136 KB
subtask_1_12.txt AC 70 ms 11136 KB
subtask_1_13.txt AC 124 ms 11136 KB
subtask_1_14.txt AC 161 ms 11136 KB
subtask_1_15.txt AC 161 ms 11136 KB
subtask_1_16.txt AC 133 ms 11136 KB
subtask_1_17.txt AC 127 ms 11136 KB
subtask_1_18.txt AC 165 ms 11136 KB
subtask_1_19.txt AC 146 ms 11136 KB
subtask_1_20.txt AC 163 ms 11136 KB
subtask_1_21.txt AC 68 ms 11136 KB
subtask_1_22.txt AC 154 ms 11136 KB
subtask_1_23.txt AC 151 ms 11136 KB
subtask_1_24.txt AC 174 ms 11136 KB
subtask_1_25.txt AC 102 ms 11136 KB
subtask_1_26.txt AC 135 ms 11136 KB
subtask_1_27.txt AC 148 ms 11136 KB
subtask_1_28.txt AC 147 ms 11136 KB
subtask_1_29.txt AC 1 ms 256 KB