Submission #227803

# Submission time Handle Problem Language Result Execution time Memory
227803 2020-04-28T23:27:42 Z blacktulip Table Tennis (info1cup20_tabletennis) C++17
24 / 100
3000 ms 500136 KB
#include <bits/stdc++.h>
 
using namespace std;
 
typedef long long lo;
typedef pair< lo,lo > PII;
 
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define int long long
#define fio() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL)
#define FOR for(int i=1;i<=n;i++)
#define mid ((start+end)/2)
#define ort ((bas+son)/2)
 
const lo MAX = -1000000000000000000;
const lo MIN = 1000000000000000000;
const lo inf = 1000000000;
const lo KOK = 100000;
const lo LOG = 30;
const lo li = 500005;
const lo mod = 1000000007;
 
int n,m,b[li],a[li],k,flag,t,sum,mx;
int cev;
string s;
map<int,int> mpp;
vector<int> v;
 
main(void){
	scanf("%lld %lld",&n,&k);
	for(int i=1;i<=n+k;i++)scanf("%lld",&a[i]);
	for(int i=1;i<=2*k+100;i++){
		for(int j=i+1;j<=n+k;j++){
			mpp[a[i]+a[j]]++;
			if(mpp[a[i]+a[j]]>mx){sum=a[i]+a[j];mx=mpp[a[i]+a[j]];}
		}
	}
	for(int i=max(1ll,n+k-(2*k+100));i<=n+k;i++){
		for(int j=i+1;j<=n+k;j++){
			mpp[a[i]+a[j]]++;
			if(mpp[a[i]+a[j]]>mx){sum=a[i]+a[j];mx=mpp[a[i]+a[j]];}
		}
	}
	int bas=1;
	int son=n+k;
	flag=0;
	cev=0;
	//~ v.clear();
	//~ printf("%d\n",v.size());
	while(bas<son){
		
		if(a[bas]+a[son]==sum){v.pb(a[bas]);v.pb(a[son]);bas++;son--;cev++;}
		else if(a[bas]+a[son]<sum){bas++;}
		else if(a[bas]+a[son]>sum){son--;}
		if(cev>=n/2){flag=1;break;}
	}
	if(flag==1){
		sort(v.begin(),v.end());
		for(int i=0;i<(int)v.size();i++){
			printf("%lld ",v[i]);
		}
		return 0;
	}
	return 0;
}
 

Compilation message

tabletennis.cpp:32:10: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main(void){
          ^
tabletennis.cpp: In function 'int main()':
tabletennis.cpp:33:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld %lld",&n,&k);
  ~~~~~^~~~~~~~~~~~~~~~~~~
tabletennis.cpp:34:30: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(int i=1;i<=n+k;i++)scanf("%lld",&a[i]);
                         ~~~~~^~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 65 ms 11640 KB Output is correct
2 Incorrect 24 ms 512 KB Unexpected end of file - int32 expected
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 324 ms 1784 KB Unexpected end of file - int32 expected
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 3101 ms 471116 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 9 ms 896 KB Output is correct
2 Correct 10 ms 1280 KB Output is correct
3 Correct 12 ms 1280 KB Output is correct
4 Correct 11 ms 1280 KB Output is correct
5 Correct 11 ms 1280 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 4 ms 384 KB Output is correct
3 Correct 5 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Incorrect 41 ms 2432 KB Unexpected end of file - int32 expected
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Execution timed out 3100 ms 352932 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 69 ms 6008 KB Output is correct
2 Execution timed out 3097 ms 500136 KB Time limit exceeded
3 Halted 0 ms 0 KB -