Niestety, nie byliśmy w stanie w pełni poprawnie wyświetlić tego pliku, ponieważ nie jest zakodowany w UTF-8.
Możesz pobrać ten plik i spróbować otworzyć go samodzielnie.
/*---------------------- Koniecko �ukasz - lukon lukon10@wp.pl ----------------------*/ /*---------------------------------------- Potyczki Algorytmiczne 2014, runda 2 Zadanie: PAK Pakowanie [A] -----------------------------------------*/ #include <iostream> #include <cstdlib> using namespace std; int compare (const void * a, const void * b) { return ( *(int*)b - *(int*)a ); } int dopasowanie(int przedmioty[], int n, int plecaki[], int m){ int nr_prz = 0; //ile przedmiot�w ju� w plecaku for(int i=0; i < m; i++){ for(int j=0; j < n; j++){ if(przedmioty[j]==0) continue; if(plecaki[i] >= przedmioty[j]){ plecaki[i] -= przedmioty[j]; przedmioty[j] = 0; //wyzerowanie nr_prz++; if(nr_prz == n) return i+1; //nie ma wi�cej przedmiot�w } } } return -1; //nie uda�o si� } int main(){ int n,m; cin >> n; //ilosc przedmiot�w cin >> m; //ilosc plecak�w int a[n]; //tablica z przedmiotami int c[m]; //tablica z plecakami for(int i=0; i < n; i++){ cin >> a[i]; } for(int i=0; i < m; i++){ cin >> c[i]; } qsort (a, n, sizeof(int), compare); qsort (c, m, sizeof(int), compare); int wynik = dopasowanie(a,n,c,m); if(wynik > 0){ cout << wynik; } else cout << "NIE"; }
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 | /*---------------------- Koniecko �ukasz - lukon lukon10@wp.pl ----------------------*/ /*---------------------------------------- Potyczki Algorytmiczne 2014, runda 2 Zadanie: PAK Pakowanie [A] -----------------------------------------*/ #include <iostream> #include <cstdlib> using namespace std; int compare (const void * a, const void * b) { return ( *(int*)b - *(int*)a ); } int dopasowanie(int przedmioty[], int n, int plecaki[], int m){ int nr_prz = 0; //ile przedmiot�w ju� w plecaku for(int i=0; i < m; i++){ for(int j=0; j < n; j++){ if(przedmioty[j]==0) continue; if(plecaki[i] >= przedmioty[j]){ plecaki[i] -= przedmioty[j]; przedmioty[j] = 0; //wyzerowanie nr_prz++; if(nr_prz == n) return i+1; //nie ma wi�cej przedmiot�w } } } return -1; //nie uda�o si� } int main(){ int n,m; cin >> n; //ilosc przedmiot�w cin >> m; //ilosc plecak�w int a[n]; //tablica z przedmiotami int c[m]; //tablica z plecakami for(int i=0; i < n; i++){ cin >> a[i]; } for(int i=0; i < m; i++){ cin >> c[i]; } qsort (a, n, sizeof(int), compare); qsort (c, m, sizeof(int), compare); int wynik = dopasowanie(a,n,c,m); if(wynik > 0){ cout << wynik; } else cout << "NIE"; } |