int Max = -1e9; for (int i = 1;i <= h;i++) { int cnt = 0; for (int j = 1;j <= w;j++) { if (s.find(a[i][j]) != s.end()) { cnt++; } } Max = max(Max, cnt); } cout << Max;
structnode { int w, p; friendbooloperator<(node a, node b) { return (a.p + a.w) > (b.p + b.w); } }a[N];
signedmain(){ cin >> T; for (; T--;) { int n, sum = 0, sum1 = 0, now = 0; cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i].w >> a[i].p; sum1 += a[i].w; } sort(a + 1, a + n + 1); for (int i = 1; i <= n; i++) { if (sum >= sum1) break; sum += a[i].p, sum1 -= a[i].w, now = i; } if (sum >= sum1) cout << n - now << "\n"; else cout << "0\n"; } return0; }