#include <iostream> #include <vector> #include <fstream> int min(int a, int b){ if(a<b) return a; return b; } using namespace std; int main(){ int n, m, k; cin>>n>>m>>k; vector<vector<int> > fiolki(n+1); vector<int> zm(n+1, 0); int mg; for(int i=1; i<=n; i++){ cin>>mg; zm[i]=mg; fiolki[i]=zm; zm[i]=0; } vector<int> lista0(m), lista1(m); for(int i=0; i<m; i++){ cin>>lista0[i]>>lista1[i]; } vector<int> reakcje0(k), reakcje1(k); for(int i=0; i<k; i++){ cin>>reakcje0[i]>>reakcje1[i]; } long long int wynik=0; int a, b; for(int i=0; i<m; i++){ a=lista0[i]; b=lista1[i]; for(int j=1; j<=n; j++){ fiolki[b][j]+=fiolki[a][j]; } for(int j=0; j<k; j++){ mg=min(fiolki[b][reakcje0[j]], fiolki[b][reakcje1[j]]); if(mg>0){ fiolki[b][reakcje0[j]]-=mg; fiolki[b][reakcje1[j]]-=mg; wynik+=mg; } } } cout<<2*wynik; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | #include <iostream> #include <vector> #include <fstream> int min(int a, int b){ if(a<b) return a; return b; } using namespace std; int main(){ int n, m, k; cin>>n>>m>>k; vector<vector<int> > fiolki(n+1); vector<int> zm(n+1, 0); int mg; for(int i=1; i<=n; i++){ cin>>mg; zm[i]=mg; fiolki[i]=zm; zm[i]=0; } vector<int> lista0(m), lista1(m); for(int i=0; i<m; i++){ cin>>lista0[i]>>lista1[i]; } vector<int> reakcje0(k), reakcje1(k); for(int i=0; i<k; i++){ cin>>reakcje0[i]>>reakcje1[i]; } long long int wynik=0; int a, b; for(int i=0; i<m; i++){ a=lista0[i]; b=lista1[i]; for(int j=1; j<=n; j++){ fiolki[b][j]+=fiolki[a][j]; } for(int j=0; j<k; j++){ mg=min(fiolki[b][reakcje0[j]], fiolki[b][reakcje1[j]]); if(mg>0){ fiolki[b][reakcje0[j]]-=mg; fiolki[b][reakcje1[j]]-=mg; wynik+=mg; } } } cout<<2*wynik; } |