📄 2846960_wa.cpp
字号:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int a[181];
int n;
int mark[181];
int main()
{
int i, t, num, tot, ans, inf;
int ta, tmp1, tmp2, tmp3;
while(scanf("%d",&n)==1)
{
inf = n*1000;
tot = 0;
n *= 3;
for(i = 1; i <= n; i++)
scanf("%d",&a[i]),tot+=a[i];
t = 10000;
while(t--)
{
ans = 0;
memset(mark,0,sizeof(mark));
num = tmp1 = 0;
while(num<n/3)
{
ta = (rand()%n+n)%n+1;
if(mark[ta]==0)
{
num++;
mark[ta] = 1;
tmp1 += a[ta];
}
}
num = tmp2 = 0;
while(num<n/3)
{
ta = (rand()%n+n)%n+1;
if(mark[ta]==0)
{
num++;
mark[ta] = 2;
tmp2 += a[ta];
}
}
tmp3 = tot-tmp1-tmp2;
if(tmp1*2>inf) ans++;
if(tmp2*2>inf) ans++;
if(tmp3*2>inf) ans++;
if(ans>1)
break;
}
for(ta = 0; ta < 3; ta++)
for(i = 1; i <= n; i++)
if(mark[i]==ta)
printf("%d\n",i);
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -