超水模拟题,没啥好说的了。。
#include<cstdio>
#include<cstring>
int main()
{
int n, m, c, count = 0, a[20];
bool stat[20];
while (scanf("%d%d%d", &n, &m, &c), n || m || c)
{
for (int i = 0; i < n; i++)
scanf("%d", &a[i]);
memset(stat, 0, sizeof(stat));
int index, sum = 0, max = 0;
bool blown = false;
while (m--)
{
scanf("%d", &index);
if (blown)
continue;
if (stat[index - 1])
{
stat[index - 1] = false;
sum -= a[index - 1];
}
else
{
stat[index - 1] = true;
sum += a[index - 1];
if (sum > c)
blown = true;
else if (sum > max)
max = sum;
}
}
printf("Sequence %d\n", ++count);
if (blown)
puts("Fuse was blown.\n");
else
printf(
"Fuse was not blown.\nMaximal power consumption was %d amperes.\n\n",
max);
}
return 0;
}