Advertisement
juanjo12x

UVA_661_Blowing_Fuses

Jul 11th, 2014
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.47 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <string>
  4. #include <cstring>
  5. #include <map>
  6. #include <vector>
  7. #include <sstream>
  8. using namespace std;
  9. typedef long long LL;
  10. int main(int argc, char** argv) {
  11.     LL n,m,c;
  12.     LL test=1;
  13.     while(cin>>n>>m>>c && n && m && c){
  14.          
  15.           vector<LL> voltajes(n);
  16.           vector<bool> estados(n,false);
  17.           /*leo los voltajes y los guardo en mi vector*/
  18.           for(int i=0;i<n;i++) cin>>voltajes[i];
  19.           /*inicio las variables auxiliares*/
  20.           LL fusible=0,max=0;
  21.           int a;
  22.           bool volo=false;
  23.           /*comienzo el proceso de simulación*/
  24.             while(m--){
  25.             cin>>a;
  26.             if(!estados[a-1]){
  27.                 fusible+=voltajes[a-1];/*aumento la energia consumida*/
  28.                 estados[a-1]=true;/*pasa a estado prendido*/
  29.             }
  30.             else{
  31.                 fusible-=voltajes[a-1]; /*si lo apago entonces disminuyo la energia*/
  32.                 estados[a-1]=false;/*pasa a estado apagado*/
  33.             }
  34.             if(fusible>c)volo=true; /*GG, se volo el fusible*/
  35.             if(fusible>max) max=fusible;
  36.             }
  37.           printf("Sequence %lld\n",test++);
  38.           if(volo) printf("Fuse was blown.\n");
  39.             else{
  40.             printf("Fuse was not blown.\n");
  41.             printf("Maximal power consumption was %lld amperes.\n",max);
  42.            
  43.         }
  44.           cout<<endl;
  45.        
  46.     }
  47.     return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement