โจทย์นั้น
#include<stdio.h>
int main (int argc, char *argv[])
{
float k[40000], con[2]={0.25,0.125};
int count=0, n, num[5];
int i, j, cp, nn;
scanf("%d",&n);
for (i = 0; i < n; i += 1)
{
nn = 0;
for (cp = 0; cp < 5; cp += 1)
{
scanf("%d",&num[cp]);
nn += num[cp];
}
nn -= num[0];
for (cp = 0; cp < nn; cp += 1)
k[cp] = 0;
count += num[0];
for (cp = 0; cp < num[1]; cp += 1)
k[cp] = 0.75;
cp = num[1]; // current position
while (num[2] != 0)
{
if (0.5 + k[cp] <= 1)
{
k[cp] += 0.5;
num[2] -= 1;
}
else
cp += 1;
}
for (j = 3; j <= 4; j += 1)
{
cp = 0;
while (num[j] != 0)
{
if (con[j-3] + k[cp] <= 1)
{
k[cp] += con[j-3];
num[j] -= 1;
}
else
cp += 1;
}
}
cp = 0;
while (k[cp] != 0)
{
count += 1;
cp += 1;
}
}
printf("%d\n",count);
return 0;
}
ส่งโค้ดแล้ว 2 สถาบัน เหลือแต่ มช ยังไม่ส่ง