Pagini recente » Rating Tohatan Cristi (artuditu) | Cod sursa (job #50613) | Cod sursa (job #3169921) | Cod sursa (job #997382)
Cod sursa(job #997382)
#include<fstream>
#include<algorithm>
#define N 100010
using namespace std;
ifstream f("inundatie.in");
ofstream g("inundatie.out");
long long n,m,li,ls,mij,x,p,i,j,nr,v[N],a[N];
int main()
{
f>>n>>m;
for(i=1;i<=n;++i)
for(j=1;j<=m;++j)
{
f>>x;
if(x>0)
v[++nr]=x;
}
sort(v+1,v+nr+1);
for(i=1;i<=nr;++i)
a[i]=v[i]+a[i-1];
f>>p;
for(;p;--p)
{
f>>x;
--x;
li=1;
ls=nr;
while(li<ls)
{
mij=(li+ls)>>1;
if(x>v[mij]&&x>=v[mij+1])
li=mij+1;
else
ls=mij-1;
}
while(v[li]<x&&li<=nr)
++li;
if(x>0)
g<<a[li-1]+x*(nr-li+1)<<'\n';
else
g<<0<<'\n';
}
return 0;
}