Submission #424460

# Submission time Handle Problem Language Result Execution time Memory
424460 2021-06-12T01:09:05 Z jamezzz Table Tennis (info1cup20_tabletennis) C++17
100 / 100
375 ms 33692 KB
#include <bits/stdc++.h>
using namespace std;

#define sf scanf
#define pf printf
#define fi first
#define se second
#define pb emplace_back
#define all(x) x.begin(),x.end()

int n,k,v;
vector<int> s,ans;
map<int,int> cnt;

int main(){
	sf("%d%d",&n,&k);
	n+=k;
	for(int i=0;i<n;++i){
		sf("%d",&v);
		s.push_back(v);
	}
	sort(all(s));
	if(n>=4*k){
		for(int i=0;i<2*k;++i){
			for(int j=n-2*k;j<n;++j){
				cnt[s[i]+s[j]]+=1;
			}
		}
	}
	else{
		for(int i=0;i<n;++i){
			for(int j=i+1;j<n;++j)cnt[s[i]+s[j]]=k;
		}
	}
	for(auto it:cnt){
		if(it.se>=k){
			ans.clear();
			int cr=n-1;
			for(int i=0;i<n;++i){
				if(s[i]>=it.fi-s[i])break;
				while(it.fi-s[i]<s[cr])--cr;
				if(it.fi-s[i]==s[cr]){
					ans.pb(s[i]);
					ans.pb(it.fi-s[i]);
					--cr;
				}
				if(ans.size()==n-k)break;
			}
			if(ans.size()==n-k)break;
		}
	}
	sort(all(ans));
	for(int x:ans)pf("%d ",x);
	pf("\n");
}

Compilation message

tabletennis.cpp: In function 'int main()':
tabletennis.cpp:47:18: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   47 |     if(ans.size()==n-k)break;
      |        ~~~~~~~~~~^~~~~
tabletennis.cpp:49:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   49 |    if(ans.size()==n-k)break;
      |       ~~~~~~~~~~^~~~~
tabletennis.cpp:16:4: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   16 |  sf("%d%d",&n,&k);
      |    ^
tabletennis.cpp:19:5: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   19 |   sf("%d",&v);
      |     ^
# Verdict Execution time Memory Grader output
1 Correct 2 ms 332 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 2 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 7 ms 700 KB Output is correct
2 Correct 51 ms 2996 KB Output is correct
3 Correct 49 ms 2980 KB Output is correct
4 Correct 58 ms 2956 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 49 ms 2976 KB Output is correct
2 Correct 48 ms 3000 KB Output is correct
3 Correct 49 ms 3064 KB Output is correct
4 Correct 58 ms 3072 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 716 KB Output is correct
2 Correct 9 ms 844 KB Output is correct
3 Correct 3 ms 972 KB Output is correct
4 Correct 5 ms 972 KB Output is correct
5 Correct 4 ms 968 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 244 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 2 ms 332 KB Output is correct
3 Correct 2 ms 332 KB Output is correct
4 Correct 2 ms 332 KB Output is correct
5 Correct 2 ms 332 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 51 ms 3120 KB Output is correct
3 Correct 49 ms 2996 KB Output is correct
4 Correct 56 ms 3056 KB Output is correct
5 Correct 72 ms 3044 KB Output is correct
6 Correct 58 ms 3052 KB Output is correct
7 Correct 51 ms 3024 KB Output is correct
8 Correct 51 ms 3020 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 22 ms 4556 KB Output is correct
2 Correct 375 ms 30640 KB Output is correct
3 Correct 314 ms 33692 KB Output is correct
4 Correct 230 ms 29664 KB Output is correct
5 Correct 156 ms 11360 KB Output is correct
6 Correct 91 ms 4776 KB Output is correct
7 Correct 223 ms 26424 KB Output is correct
8 Correct 228 ms 28696 KB Output is correct