leo315 2017-06-04 04:10:18
点我顶贴
收藏
删除
#include <stdio.h>
#include <stdlib.h>
int main()
{
int N,m,i,j,s,t,k;
scanf("%d %d",&N,&m);
int a[m],b[m],c,d;
for(s=0,i=1; i<=m; i++)
{
scanf("%d %d",a+i,b+i);
}
for(i=1; i<m; i++)
{
for(k=i,j=i+1; j<=m; j++)
{
if((a[k]*b[k])<(a[j]*b[j]))
{
k=j;
}
else if((a[k]*b[k])==(a[j]*b[j]))
{
if(a[k]>a[j])
{
k=j;
}
}
}
if(k!=i)
{
c=a[k];
d=b[k];
a[k]=a[i];
b[k]=b[i];
a[i]=c;
b[i]=d;
}
}
for(s=0,t=0,i=1;t<=N;i++)
{
s+=(a[i]*b[i]);
t+=a[i];
if(t>N)
{
s-=(a[i]*b[i]);
t-=a[i];
if(i==m)
{
break;
}
continue;
}
if(i==m)
{
break;
}
}
printf("%d",s);
return 0;
}