Code: Select all
GOT ACC
Moderator: Board moderators
Code: Select all
GOT ACC
Code: Select all
#include<stdio.h>
int main()
{
int i,m,n,c,con[22],op,stat[22];
int totcon,max,flag,seq=1;
while(scanf("%d %d %d",&n,&m,&c)==3)
{
if(n==0 && m==0 && c==0)
break;
for(i=0;i<n;i++)
{
stat[i]=0;
}
for(i=0;i<n;i++)
{
scanf("%d",&con[i]);
}
totcon=0;
max=0;
flag=1;
for(i=0;i<m;i++)
{
scanf("%d",&op);
if(stat[op-1]==0)
{
totcon=totcon+con[op-1];
stat[op-1]=1;
}
else
{
totcon=totcon-con[op-1];
stat[op-1]=0;
}
if(totcon>c)
{
flag=0;
break;
}
if(max<totcon)
max=totcon;
}
printf("Sequence %d\n",seq);
if(flag==0)
printf("Fuse was blown.\n\n");
else
{ printf("Fuse was not blown.\n");
printf("Maximal power consumption was %d amperes.\n\n",max);
}
seq++;
}
return 0;
}
Code: Select all
...................
for(i=0;i<m;i++) {
scanf("%d",&op);
if (flag == 0)
continue;
.............
.............
if(totcon>c) {
flag=0;
//break; remove this..
}
...............
Code: Select all
#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
struct Amp
{
bool status;
int wight;
};
int main()
{
//freopen("input.txt","r",stdin);
int n,m,c,ca=1,total,s[100],cl=0;
struct Amp arr[100];
while(scanf("%d%d%d",&n,&m,&c)==3 && n && m && c)
{
if(ca>1) printf("\n");
memset(arr,0,sizeof(arr));
total=0;
int max=-100;
bool flag=false;
max=-1;cl=0;
for(int i=0;i<n;i++)
{
scanf("%d",&arr[i].wight);
arr[i].status=false;
}
for(int i=0;i<m;i++)
scanf("%d",&s[i]);
for(int i=0;i<m;i++)
{
if(!arr[s[i]-1].status)
{
arr[s[i]-1].status=true;
total+=arr[s[i]-1].wight;
}
else
{
arr[s[i]-1].status=false;
total-=arr[s[i]-1].wight;
}
if(total>c)
{
flag=true;break;
}
if(max<total) max=total;
}
printf("Sequence %d\n",ca++);
if(flag)
printf("Fuse was blown.\n");
else
{
printf("Fuse was not blown.\nMaximal power consumption was %d amperes.\n",max);
}
}
return 0;
}
Code: Select all
got AC