이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define F first
#define S second
using namespace std;
const int N=2e5+5;
int n,k;
bool f[N];
double a[N];
map < int , int > mp;
void check(double x) {
int r=n+k,ans=0;
for (int i=1; i<=n+k; i++) f[i]=0;
for (int l=1; l<r && a[l]<=x; l++) {
while (x-a[l]<a[r]-x)
--r;
if (l<r && x-a[l]==a[r]-x)
f[l]=f[r]=1,ans+=2,--r;
if (ans==n) break;
}
if (ans==n) {
for (int i=1; i<=n+k; i++)
if (f[i]) cout<<i<<" ";
exit(0);
}
}
main() {
ios::sync_with_stdio(false);
cin.tie(NULL),cout.tie(NULL);
cin>>n>>k;
for (int i=1; i<=n+k; i++)
cin>>a[i];
int R=min(2*k,n+k);
int L=max(1,n-k+1);
for (int i=1; i<=R; i++)
for (int j=L; j<=n+k; j++)
mp[a[i]+a[j]]++;
for (map < int , int > :: iterator it=mp.begin(); it!=mp.end(); ++it) {
if ((it->second)>=k)
check((it->first)/2.0);
}
}
컴파일 시 표준 에러 (stderr) 메시지
tabletennis.cpp:37:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
37 | main() {
| ^
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |