#include #include #include #define MAX_BUFFER 2048 int main() { FILE *fin; char buffer[MAX_BUFFER], b2[MAX_BUFFER], *p1, *p2, *p3; int i, j, k, l, N, M, C, I, MAX, SEQ = 1; char c, c1, c2; int comm[50], on[50], op; fin = fopen("fuses.in", "r"); again: fscanf(fin, "%d %d %d", &N, &M, &C); if (!(N | M | C)) return 0; printf("Sequence %d\n", SEQ++); I = 0; MAX = 0; for(i = 1; i <= N; i++) { fscanf(fin, "%d", &comm[i]); on[i] = 0; } for(i = 0; i < M; i++) { fscanf(fin, "%d", &op); if (on[op]) { on[op] = 0; I -= comm[op]; } else { on[op] = 1; I += comm[op]; if (I > MAX) MAX = I; } } if (MAX > C) { printf("Fuse was blown.\n\n"); goto again; } printf("Fuse was not blown.\nMaximal power consumption was %d amperes.\n\n", MAX); goto again; return 0; }