Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- using namespace std;
- int n,t,k,i,j,s,d,p,nr,m,v[1005],u[1005],poz[1005],afis[1005],Min=2000005;
- int main()
- {
- ifstream f("kminsum.in");
- ofstream g("kminsum.out");
- f>>n>>t>>k;
- for(i=1;i<=n;i++)
- f>>v[i];
- for(i=1;i<=t;i++)
- f>>u[i];
- s=-2000000; d=2000000;
- while(s<=d)
- {
- nr=0; p=t;
- m=(s+d)/2;
- for(i=1;i<=n;i++)
- {
- while(v[i]+u[p]>m)
- p--;
- nr+=p;
- poz[i]=p;
- }
- if(nr<k)
- s=m+1;
- else
- {
- d=m-1;
- if(m<Min)
- {
- Min=m;
- for(i=1;i<=n;i++)
- afis[i]=poz[i];
- }
- }
- }
- nr=0;
- for(i=1;i<=n && nr<k;i++)
- for(j=1;j<=afis[i] && nr<k;j++)
- {
- g<<v[i]<<' '<<u[j]<<'\n';
- nr++;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement