// Samochody dostawcze [C].cpp : Ten plik zawiera funkcję „main”. W nim rozpoczyna się i kończy wykonywanie programu. // #include <iostream> #include <algorithm> using namespace std; int A[500009]; int B[500009]; int main() { int n, r, w, t, a = 0, b = 0, i_a = 0, i_b = 0, pom = 0; cin >> n; for (int i = 0; i < n; i++) { cin >> r >> w >> t; if (r == 1) { A[a] = w - t; a++; } else { B[b] = w - t; b++; } } sort(A, A + a); sort(B, B + b); int tyle = 0; int ile_a = 0, ile_b = 0; while (i_a < a && i_b < b) { if (A[i_a] == B[i_b]) { ile_a = 0; ile_b = 0; pom = A[i_a]; while (A[i_a] == pom && i_a < a) { i_a++; ile_a++; } while (B[i_b] == pom && i_b < b) { i_b++; ile_b++; } tyle += min(ile_a, ile_b); } else { if(A[i_a] < B[i_b]) i_a++; else i_b++; } } cout << tyle; }
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 | // Samochody dostawcze [C].cpp : Ten plik zawiera funkcję „main”. W nim rozpoczyna się i kończy wykonywanie programu. // #include <iostream> #include <algorithm> using namespace std; int A[500009]; int B[500009]; int main() { int n, r, w, t, a = 0, b = 0, i_a = 0, i_b = 0, pom = 0; cin >> n; for (int i = 0; i < n; i++) { cin >> r >> w >> t; if (r == 1) { A[a] = w - t; a++; } else { B[b] = w - t; b++; } } sort(A, A + a); sort(B, B + b); int tyle = 0; int ile_a = 0, ile_b = 0; while (i_a < a && i_b < b) { if (A[i_a] == B[i_b]) { ile_a = 0; ile_b = 0; pom = A[i_a]; while (A[i_a] == pom && i_a < a) { i_a++; ile_a++; } while (B[i_b] == pom && i_b < b) { i_b++; ile_b++; } tyle += min(ile_a, ile_b); } else { if(A[i_a] < B[i_b]) i_a++; else i_b++; } } cout << tyle; } |