// 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; } |
English