Submission #377598

# Submission time Handle Problem Language Result Execution time Memory
377598 2021-03-14T11:07:55 Z keta_tsimakuridze Table Tennis (info1cup20_tabletennis) C++14
100 / 100
522 ms 46044 KB
#include<bits/stdc++.h>
#define f first
#define int long long
#define s second
using namespace std;
const int N=2e5+5,mod=1e9+7;
int t,a[N],n,k;
vector<int>v,Ans,ans;
map<int,int>fix;
string s;
main(){
	cin>>n>>k;
	n+=k;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	Ans.resize(n);
	if(n>=4*k) 
	for(int i=1;i<=2*k;i++){
		for(int j=n;j>=n-2*k+1;j--){
			fix[a[i]+a[j]]++;
			if(fix[a[i]+a[j]]==k) v.push_back(a[i]+a[j]);
		}
	}
	else for(int i=0;i<=k;i++){
		for(int j=n;j>=n-k+i;j--){
			v.push_back(a[i+1]+a[j]);
		}
	}
	for(int i=0;i<v.size();i++){
		int sum = v[i];
		ans.clear();
		int l=1,r=n;
		while(l<r) {
			if(a[l]+a[r]==sum){
				ans.push_back(a[l]);
				ans.push_back(a[r]);
				l++;
				r--;
			}
			else if(a[l]+a[r]<sum) l++;
			else r--; 
		}
		if(ans.size()>=n-k){
			
			Ans=ans;
		} 
	}
	sort(Ans.begin(),Ans.end());
	for(int i=0;i<(n-k)/2;i++){
	cout<<Ans[i]<<" ";
	}
	
	for(int i=(int)Ans.size()-(n-k)/2;i<=Ans.size()-1;i++){
		cout<<Ans[i]<<" ";
	}
}

Compilation message

tabletennis.cpp:11:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   11 | main(){
      |      ^
tabletennis.cpp: In function 'int main()':
tabletennis.cpp:30:15: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   30 |  for(int i=0;i<v.size();i++){
      |              ~^~~~~~~~~
tabletennis.cpp:44:16: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
   44 |   if(ans.size()>=n-k){
      |      ~~~~~~~~~~^~~~~
tabletennis.cpp:54:37: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   54 |  for(int i=(int)Ans.size()-(n-k)/2;i<=Ans.size()-1;i++){
      |                                    ~^~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 492 KB Output is correct
2 Correct 2 ms 492 KB Output is correct
3 Correct 2 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 13 ms 1260 KB Output is correct
2 Correct 96 ms 7004 KB Output is correct
3 Correct 96 ms 6876 KB Output is correct
4 Correct 94 ms 6876 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 95 ms 6876 KB Output is correct
2 Correct 93 ms 7004 KB Output is correct
3 Correct 92 ms 7024 KB Output is correct
4 Correct 92 ms 6876 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 364 KB Output is correct
2 Correct 3 ms 364 KB Output is correct
3 Correct 3 ms 364 KB Output is correct
4 Correct 2 ms 364 KB Output is correct
5 Correct 3 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 2 ms 512 KB Output is correct
3 Correct 2 ms 492 KB Output is correct
4 Correct 3 ms 492 KB Output is correct
5 Correct 3 ms 492 KB Output is correct
6 Correct 2 ms 492 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 92 ms 7012 KB Output is correct
3 Correct 102 ms 7004 KB Output is correct
4 Correct 96 ms 6936 KB Output is correct
5 Correct 100 ms 6876 KB Output is correct
6 Correct 100 ms 7004 KB Output is correct
7 Correct 98 ms 7004 KB Output is correct
8 Correct 97 ms 7132 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 172 ms 1508 KB Output is correct
2 Correct 522 ms 43740 KB Output is correct
3 Correct 478 ms 46044 KB Output is correct
4 Correct 380 ms 40548 KB Output is correct
5 Correct 339 ms 16092 KB Output is correct
6 Correct 334 ms 7396 KB Output is correct
7 Correct 364 ms 36316 KB Output is correct
8 Correct 346 ms 39268 KB Output is correct