Submission #314459

# Submission time Handle Problem Language Result Execution time Memory
314459 2020-10-20T01:08:21 Z limabeans Table Tennis (info1cup20_tabletennis) C++17
100 / 100
92 ms 5360 KB
#include <bits/stdc++.h>
using namespace std;

template<typename T>
void out(T x) { cout << x << endl; exit(0); }
#define watch(x) cout << (#x) << " is " << (x) << endl





using ll = long long;


const int maxn = 1e6 + 5;


int n,k;
int a[maxn];

int main() {
    ios_base::sync_with_stdio(false); cin.tie(0);  cout.tie(0);

    cin>>n>>k;
    for (int i=0; i<n+k; i++) {
	cin>>a[i];
    }

    for (int l=0; l<=k; l++) {
	for (int r=0; l+r<=k; r++) {
	    int i=l;
	    int j=n+k-1-r;
	    vector<int> ans = {i,j};
	    int sum = a[i]+a[j];
	    i++; j--;
	    int slack = k-l-r;
	    while (i<=j && slack>=0) {
		if (i==j) {
		    slack--;
		    break;
		}
		if (a[i]+a[j]==sum) {
		    ans.push_back(i);
		    ans.push_back(j);
		    i++;
		    j--;
		} else if (a[i]+a[j]>sum) {
		    slack--;
		    j--;
		} else if (a[i]+a[j]<sum) {
		    slack--;
		    i++;
		}
	    }
	    if (slack >= 0) {
		//watch(sum);
		while (slack>0) {
		    ans.pop_back();
		    ans.pop_back();
		    slack-=2;
		}
		vector<int> v;
		for (int idx: ans) {
		    v.push_back(a[idx]);
		}

		sort(v.begin(),v.end());
		for (int x: v) cout<<x<<" ";
		cout<<endl;
		exit(0);
	    }

	    
	}
    }


    assert(false);    
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Correct 1 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 6 ms 1152 KB Output is correct
2 Correct 40 ms 5280 KB Output is correct
3 Correct 40 ms 5104 KB Output is correct
4 Correct 40 ms 5228 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 41 ms 5240 KB Output is correct
2 Correct 40 ms 5232 KB Output is correct
3 Correct 46 ms 5232 KB Output is correct
4 Correct 40 ms 5236 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Correct 1 ms 384 KB Output is correct
4 Correct 1 ms 384 KB Output is correct
5 Correct 1 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Correct 1 ms 512 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Correct 1 ms 384 KB Output is correct
4 Correct 1 ms 384 KB Output is correct
5 Correct 1 ms 384 KB Output is correct
6 Correct 1 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 384 KB Output is correct
2 Correct 36 ms 5360 KB Output is correct
3 Correct 39 ms 5232 KB Output is correct
4 Correct 40 ms 5104 KB Output is correct
5 Correct 39 ms 5232 KB Output is correct
6 Correct 40 ms 5232 KB Output is correct
7 Correct 39 ms 5232 KB Output is correct
8 Correct 40 ms 5232 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 65 ms 5232 KB Output is correct
3 Correct 40 ms 5232 KB Output is correct
4 Correct 62 ms 5108 KB Output is correct
5 Correct 41 ms 5104 KB Output is correct
6 Correct 42 ms 5236 KB Output is correct
7 Correct 92 ms 5232 KB Output is correct
8 Correct 39 ms 5104 KB Output is correct