Submission #45320108


Source Code Expand

// just a guess xd


//~ while (clock()<=69*CLOCKS_PER_SEC)
//~ #pragma comment(linker, "/stack:200000000")
#ifndef LOCAL
#pragma GCC optimize("O3")
#endif
//~ #pragma GCC optimize("Ofast")
//~ #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
//~ #pragma GCC optimize("unroll-loops")
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#define ALL(x) (x).begin(), (x).end()
#define SZ(x) ((int)(x).size())
#define st first
#define nd second

using namespace __gnu_pbds;
using namespace std;
 
template <typename T>
using ordered_set =
	tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
 
#define sim template < class c
#define ris return * this
#define dor > debug & operator <<
#define eni(x) sim > typename \
  enable_if<sizeof dud<c>(0) x 1, debug&>::type operator<<(c i) {
sim > struct rge { c b, e; };
sim > rge<c> range(c i, c j) { return rge<c>{i, j}; }
sim > auto dud(c* x) -> decltype(cerr << *x, 0);
sim > char dud(...);
struct debug {
#ifdef LOCAL
~debug() { cerr << endl; }
eni(!=) cerr << boolalpha << i; ris; }
eni(==) ris << range(begin(i), end(i)); }
sim, class b dor(pair < b, c > d) {
  ris << "(" << d.first << ", " << d.second << ")";
}
sim dor(rge<c> d) {
  *this << "[";
  for (auto it = d.b; it != d.e; ++it)
	*this << ", " + 2 * (it == d.b) << *it;
  ris << "]";
}
#else
sim dor(const c&) { ris; }
#endif
};
#define imie(...) " [" << #__VA_ARGS__ ": " << (__VA_ARGS__) << "] "
 
using ll = long long;
using pii = pair<int, int>;
using pll = pair<ll, ll>;
using vi = vector<int>;
using vll = vector<ll>;


int main() {
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout << fixed << setprecision(11);
	cerr << fixed << setprecision(6);
	
	int n, m, a, b;
	cin >> n >> m >> a >> b;
	
	int cand1 = n - (a - b);
	int cand2 = 0;
	
	vi cnts(n);
	for (int i = 0; i < m; ++i) {
		int who;
		cin >> who;
		++cnts[who - 1];
	}
	sort(ALL(cnts));
	
	int rem = b;
	for (int x : cnts) {
		if (rem >= x) {
			rem -= x;
			++cand2;
		}
	}
	
	cout << max(cand1, cand2) << "\n";
}

Submission Info

Submission Time
Task A - Save the Monsters
User mnbvmar
Language C++ 20 (gcc 12.2)
Score 500
Code Size 2184 Byte
Status AC
Exec Time 18 ms
Memory 4160 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 4
AC × 35
Set Name Test Cases
Sample 00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt, 00-sample-004.txt
All 00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt, 00-sample-004.txt, 01-001.txt, 01-002.txt, 01-003.txt, 01-004.txt, 01-005.txt, 01-006.txt, 01-007.txt, 01-008.txt, 01-009.txt, 01-010.txt, 01-011.txt, 01-012.txt, 01-013.txt, 01-014.txt, 01-015.txt, 01-016.txt, 01-017.txt, 01-018.txt, 01-019.txt, 01-020.txt, 01-021.txt, 01-022.txt, 01-023.txt, 01-024.txt, 01-025.txt, 01-026.txt, 01-027.txt, 01-028.txt, 01-029.txt, 01-030.txt, 01-031.txt
Case Name Status Exec Time Memory
00-sample-001.txt AC 1 ms 3428 KiB
00-sample-002.txt AC 1 ms 3500 KiB
00-sample-003.txt AC 1 ms 3484 KiB
00-sample-004.txt AC 1 ms 3364 KiB
01-001.txt AC 1 ms 3568 KiB
01-002.txt AC 1 ms 3408 KiB
01-003.txt AC 1 ms 3360 KiB
01-004.txt AC 1 ms 3504 KiB
01-005.txt AC 1 ms 3436 KiB
01-006.txt AC 9 ms 3592 KiB
01-007.txt AC 15 ms 3788 KiB
01-008.txt AC 10 ms 3636 KiB
01-009.txt AC 8 ms 3480 KiB
01-010.txt AC 8 ms 3708 KiB
01-011.txt AC 12 ms 4132 KiB
01-012.txt AC 18 ms 4092 KiB
01-013.txt AC 6 ms 4076 KiB
01-014.txt AC 15 ms 4128 KiB
01-015.txt AC 15 ms 4108 KiB
01-016.txt AC 12 ms 3496 KiB
01-017.txt AC 17 ms 3820 KiB
01-018.txt AC 13 ms 3704 KiB
01-019.txt AC 12 ms 3508 KiB
01-020.txt AC 14 ms 3532 KiB
01-021.txt AC 17 ms 4120 KiB
01-022.txt AC 17 ms 4076 KiB
01-023.txt AC 18 ms 4108 KiB
01-024.txt AC 17 ms 4124 KiB
01-025.txt AC 17 ms 4096 KiB
01-026.txt AC 1 ms 3500 KiB
01-027.txt AC 7 ms 3628 KiB
01-028.txt AC 3 ms 4160 KiB
01-029.txt AC 8 ms 3568 KiB
01-030.txt AC 9 ms 3412 KiB
01-031.txt AC 11 ms 3576 KiB