Cod sursa(job #12197)
Utilizator | Data | 3 februarie 2007 10:53:32 | |
---|---|---|---|
Problema | Cutii | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
#include<fstream.h>
int long n2,n,k,i,j,v[1048576]/*,vect[100]*/,p[2097152];
int main()
{ifstream f("sume.in");
f>>n>>k;
int long a;
for(i=1;i<=n;i++)
{f>>a;
v[a]++;
}
for(i=1,n2=1;i<=20;i++)
n2*=2;
// n2=1<<19;
// for(i=1;i<n2;i++)
// if(v[i])
// vect[++vect[0]]=i;
for(i=1;i<n2;i++)
{if(v[i])
for(j=1;j<n2;j++)
if(v[j])
p[i+j]+=(v[i]*v[j]);
}
n2*=2;
int long k1=0;
for(i=1;k1<k;i++)
k1+=p[i];
ofstream g("sume.out");
g<<i-1;
g.close();
return 0;
}