提出 #67002242
ソースコード 拡げる
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
inline int read(){
char ch=getchar(); while(!isdigit(ch) && ch!='-') ch=getchar();
int x=0,ff=1; if(ch=='-') ff=-1,ch=getchar();
while(isdigit(ch)) x=(x<<3) + (x<<1) + (ch^48),ch=getchar();
return x*ff;
}
const int N=2e5+5;
int n,a[N],b[N],c[N]; LL s1=0,s2=0,s3=0,s4;
void vmain(){
n=read(); s1=0; s2=0; s3=0; s4=0;
for(int i=1;i<=n;i++) a[i]=read(),b[i]=read(),c[i]=read(),b[i]=min(b[i],a[i]+c[i]),a[i]=min(a[i],b[i]),c[i]=min(c[i],b[i])
,s1+=b[i]-c[i],s2+=a[i],s4+=b[i];
LL bf=s4;
s4/=2;
if(s4>=s1 && s4<=s2) printf("%lld\n",s4);
else if(s4<s1) printf("%lld\n",min(s1,bf-s1));
else printf("%lld\n",min(s2,bf-s2));
}
int main(){
int T=read(); while(T--) vmain();
return 0;
}
提出情報
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
500 / 500 |
| 結果 |
|
|
| セット名 |
テストケース |
| Sample |
sample-01.txt |
| All |
01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 03-01.txt, sample-01.txt |
| ケース名 |
結果 |
実行時間 |
メモリ |
| 01-01.txt |
AC |
25 ms |
3628 KiB |
| 01-02.txt |
AC |
18 ms |
3756 KiB |
| 01-03.txt |
AC |
18 ms |
3748 KiB |
| 01-04.txt |
AC |
18 ms |
3712 KiB |
| 01-05.txt |
AC |
18 ms |
3928 KiB |
| 02-01.txt |
AC |
19 ms |
6016 KiB |
| 02-02.txt |
AC |
19 ms |
6080 KiB |
| 02-03.txt |
AC |
19 ms |
6084 KiB |
| 02-04.txt |
AC |
16 ms |
6080 KiB |
| 02-05.txt |
AC |
16 ms |
6012 KiB |
| 02-06.txt |
AC |
16 ms |
6080 KiB |
| 03-01.txt |
AC |
20 ms |
5960 KiB |
| sample-01.txt |
AC |
1 ms |
3572 KiB |