#include <iostream> #include <vector> #include <algorithm> using namespace std; void Ciuchcia() { int x, wiersz=0, i=1, odp=0, waga, glod, n, h=0, wielkosc; vector <int> szprotki; vector <int> sprawdzacz; cin >> x; for(int i=0; i<x; i++) { cin >> waga; szprotki.push_back(waga); sprawdzacz.push_back(1); } sort( szprotki.begin(), szprotki.end() ); cin >> x; for(int i=0; i<x; i++) { cin >> n; if(n==1) { cin >> waga >> glod; h=0; odp=0; wielkosc=szprotki.size(); sort( szprotki.begin(), szprotki.end() ); sprawdzacz.clear(); for(int j=0; j<wielkosc; j++) { sprawdzacz.push_back(1); } for(int j=wielkosc-1; j>=0; j--) {//cout << sprawdzacz[j]; if(waga>szprotki[j] && szprotki[j]!=0 && glod>waga && sprawdzacz[j]==1) { waga=waga+szprotki[j]; odp++; sprawdzacz[j]=0; j=wielkosc; //cout << endl; } if(glod<waga) { break; } } //cout << endl; if(glod<=waga) { cout << odp << endl; } else { cout << "-1" << endl; } } if(n==2) { cin >> waga; szprotki.push_back(waga); } if(n==3) { cin >> waga; for(int j=0; j<szprotki.size(); j++) { if(szprotki[j]=waga) { szprotki[j]=0; } } } } } int main() { Ciuchcia(); }
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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | #include <iostream> #include <vector> #include <algorithm> using namespace std; void Ciuchcia() { int x, wiersz=0, i=1, odp=0, waga, glod, n, h=0, wielkosc; vector <int> szprotki; vector <int> sprawdzacz; cin >> x; for(int i=0; i<x; i++) { cin >> waga; szprotki.push_back(waga); sprawdzacz.push_back(1); } sort( szprotki.begin(), szprotki.end() ); cin >> x; for(int i=0; i<x; i++) { cin >> n; if(n==1) { cin >> waga >> glod; h=0; odp=0; wielkosc=szprotki.size(); sort( szprotki.begin(), szprotki.end() ); sprawdzacz.clear(); for(int j=0; j<wielkosc; j++) { sprawdzacz.push_back(1); } for(int j=wielkosc-1; j>=0; j--) {//cout << sprawdzacz[j]; if(waga>szprotki[j] && szprotki[j]!=0 && glod>waga && sprawdzacz[j]==1) { waga=waga+szprotki[j]; odp++; sprawdzacz[j]=0; j=wielkosc; //cout << endl; } if(glod<waga) { break; } } //cout << endl; if(glod<=waga) { cout << odp << endl; } else { cout << "-1" << endl; } } if(n==2) { cin >> waga; szprotki.push_back(waga); } if(n==3) { cin >> waga; for(int j=0; j<szprotki.size(); j++) { if(szprotki[j]=waga) { szprotki[j]=0; } } } } } int main() { Ciuchcia(); } |