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
2017-10-18 18:05:44+0900
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
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