Submission #756156

#TimeUsernameProblemLanguageResultExecution timeMemory
756156FilyaTable Tennis (info1cup20_tabletennis)C++14
24 / 100
3047 ms23792 KiB
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> #include <algorithm> #include <cmath> #include <cstring> #include <cassert> #include <set> #include <map> #include <unordered_map> #include <vector> #include <stack> #include <queue> #include <iomanip> #include <bitset> #include <stdio.h> #include <climits> #include <numeric> using namespace std; #define MOD 1000000007 #define MOD2 998244353 #define pii pair<int, int> #define pll pair<long long, long long> #define mii map<int, int> #define vi vector<int> #define vpi vector<pair<int, int>> #define vll vector <ll> #define ff first #define ss second #define mp make_pair #define ll long long #define pb push_back #define eb emplace_back #define pob pop_back #define lb lower_bound #define ub upper_bound #define all(x) (x).begin(), (x).end() #define alll(x) (x), (x) + n #define fri(x) for(int i = 0; i < x; ++i) #define frj(x) for(int j = 0; j < x; ++j) #define frr(a, b) for(int i = a; i < b; ++i) #define frrj(a, b) for(int j = a; j < b; ++j) #define fastio ios_base::sync_with_stdio(false); cin.tie(0); #define dbg(x) cerr << #x << ": " << x << endl; #define uniq(x) x.resize(unique(all(x)) - x.begin()); //make all one after sorting #define blt __builtin_popcount /////////////////////print array, vector, deque, set, multiset, pair, map ///////////////////// void print(long long t) { cerr << t; } void print(int t) { cerr << t; } void print(string t) { cerr << t; } void print(char t) { cerr << t; } void print(double t) { cerr << t; } void print(long double t) { cerr << t; } void print(unsigned long long t) { cerr << t; } template <class T, class V> void print(pair <T, V> p) { cerr << "{"; print(p.first); cerr << ","; print(p.second); cerr << "}"; } template <class T, class V> void print(T v[], V n) { cerr << "["; for (int i = 0; i < n; i++) { print(v[i]); cerr << " "; } cerr << "]"; cout << endl; } template <class T> void print(vector <T> v) { cerr << "[ "; for (T i : v) { print(i); cerr << " "; } cerr << "]"; cout << endl; } template <class T> void print(set <T> v) { cerr << "[ "; for (T i : v) { print(i); cerr << " "; } cerr << "]"; cout << endl; } template <class T> void print(multiset <T> v) { cerr << "[ "; for (T i : v) { print(i); cerr << " "; } cerr << "]"; cout << endl; } template <class T> void print(stack <T> v) { cerr << "[ "; stack<T> s = v; while (s.size()) { T i = s.top(); print(i); s.pop(); cerr << " "; } cerr << "]"; cout << endl; } template <class T> void print(queue <T> v) { cerr << "[ "; queue<T> s = v; while (s.size()) { T i = s.front(); print(i); s.pop(); cerr << " "; } cerr << "]"; cout << endl; } template <class T> void print(deque <T> v) { cerr << "[ "; deque<T> s = v; while (s.size()) { T i = s.front(); print(i); s.pop_front(); cerr << " "; } cerr << "]"; cout << endl; } template <class T, class V> void print(map <T, V> v) { cerr << "[ "; for (auto i : v) { print(i); cerr << " "; } cerr << "]"; cout << endl; } template <class T, class V> void print(unordered_map <T, V> v) { cerr << "[ "; for (auto i : v) { print(i); cerr << " "; } cerr << "]"; cout << endl; } /////////////////////code///////////////////// const int N = 150005; ll a[N], b[N], cur; int n, m, k; unordered_map<ll, ll> ma, ma1; int main() { fastio; cin >> n >> k; n /= 2; m = 2 * n + k; ll maxi = 0, cur; fri(m) { cin >> a[i]; ma[a[i]]++; maxi = max(maxi, a[i]); } sort(a, a + m); fri(k) { frrj(i + 1, m) { ll x = a[i] + a[j]; ma1 = ma; cur = 0; for (int p = 0; p < m; p++) { if (x - a[p] == a[p]) { if (ma1[a[p]] > 1) { cur++; ma1[a[p]]--; ma1[x - a[p]]--; } } else if (ma1[x - a[p]] && ma1[a[p]]) { cur++; ma1[a[p]]--; ma1[x - a[p]]--; } } if (cur >= n) { ma1 = ma; cur = 0; vi v; for (int p = 0; p < m; p++) { if (cur == n) break; if (x - a[p] == a[p]) { if (ma1[a[p]] > 1) { cur++; v.pb(a[p]); v.pb(x - a[p]); ma1[a[p]]--; ma1[x - a[p]]--; } } else if (ma1[x - a[p]] && ma1[a[p]]) { v.pb(a[p]); v.pb(x - a[p]); cur++; ma1[a[p]]--; ma1[x - a[p]]--; } } sort(all(v)); for(int x : v) cout << x << ' '; return 0; } } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...