This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "bits/stdc++.h"
using namespace std;
const long long MX=2e5+10;
long long vis[MX];
long long a[MX];
long long n,k;
bool ok=0;
void solve(long long sum,long long nm)
{
long long l=1,r=n+k,kpr=0,kg=0;
while(l<r)
{
if((a[l]+a[r])<sum)
{
l++;
kpr++;
}
else
{
if((a[l]+a[r])==sum)
{
vis[l]=vis[r]=nm;
l++;
r--;
kg+=2;
}
else
{
if((a[l]+a[r])>sum)
{
r--;
kpr++;
}
}
}
if(kpr>k)
{
return;
}
if(kg==n)
{
for(long long i=1;i<=n+k;i++)
{
if(vis[i]==nm)
{
cout<<a[i]<<" ";
}
}
ok=1;
return;
}
}
}
int main()
{
cin.tie(0);
ios_base::sync_with_stdio(0);
cin>>n>>k;
for(long long i=1;i<=n+k;i++)
{
cin>>a[i];
}
for(long long i=1,uk=1;(i<=(k+1) && (!ok));i++,uk++)
{
for(long long j=max(n,i+1);(j<=n+k && (!ok));j++,uk++)
{
solve(a[i]+a[j],uk);
}
}
return 0;
}
# | 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... |