답안 #845920

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
845920 2023-09-06T19:31:30 Z Piokemon Table Tennis (info1cup20_tabletennis) C++17
72 / 100
30 ms 4732 KB
#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
 
constexpr int N = 15e4;
ll a[N+9];
 
int main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int n,k;
	cin >> n >> k;
	for (int x=1;x<=n+k;x++) cin >> a[x];
	map<ll,bool>spr;
	ll znal=-1;
	for (int x=1;x<=k+1;x++){
		for (int y=max(x+1,n);y<=n+k;y++){
			if (spr[a[x]+a[y]])continue;
			ll cel=a[x]+a[y];
			spr[cel]=1;
			int l,r,pomin;
			l = 1;
			r = n+k;
			pomin = 0;
			while(l<r){
				if (pomin>k) break;
				if (a[l]+a[r]<cel){l++;pomin++;}
				else if (a[l]+a[r]==cel){l++;r--;}
				else {r--;pomin++;}
			}
			if (l==r)pomin++;
			if (pomin<=k){
				znal=cel;
				break;
			}
		}
		if (znal!=-1) break;
	}
	vector<int> odp;
	int l,r;
	l = 1;
	r = n+k;
	while(l<r){
		if (odp.size()==n)break;
		if (a[l]+a[r]<znal) l++;
		else if (a[l]+a[r]==znal){
			odp.push_back(a[l]);
			odp.push_back(a[r]);
			l++;
			r--;
		}
		else r--;
	}
	sort(odp.begin(),odp.end());
	for (int x:odp) cout << x << ' ';
}

Compilation message

tabletennis.cpp: In function 'int main()':
tabletennis.cpp:45:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   45 |   if (odp.size()==n)break;
      |       ~~~~~~~~~~^~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 856 KB Output is correct
2 Correct 24 ms 3796 KB Output is correct
3 Correct 30 ms 3788 KB Output is correct
4 Correct 28 ms 3656 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 24 ms 3792 KB Output is correct
2 Correct 25 ms 4044 KB Output is correct
3 Correct 24 ms 3788 KB Output is correct
4 Correct 24 ms 3788 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 3 ms 860 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 2 ms 600 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 548 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 1 ms 600 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Runtime error 26 ms 4732 KB Execution killed with signal 11
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Runtime error 13 ms 2764 KB Execution killed with signal 11
3 Halted 0 ms 0 KB -