针对各个设备记录操作就行
#include"stdio.h" #include"string.h" int a[30] = {0}; int ac[30] = {0}; int main(void) { int i,n,b,m,c,f,ix = 1,flag,ans; while((scanf("%d %d %d",&n,&m,&c)) == 3 && (n | m | c)) { memset(ac,0,sizeof(ac)); f = (flag = (ans = 0)); for( i = 0 ; i < n ; i ++) { scanf("%d",a + i); } while(m --) { scanf("%d",&b); if(!(ac[b - 1])) { f += a[b - 1]; ac[b - 1] = 1; } else { f -=a[b - 1]; ac[b - 1] = 0; } if(f > c) { flag = 1; } if(!flag && ans < f) { ans = f; } } printf("Sequence %d\n",ix ++); if(flag) { printf("Fuse was blown.\n\n"); } else { printf("Fuse was not blown.\n"); printf("Maximal power consumption was %d amperes.\n\n",ans); } } return 0; }