讨论 / (C语言编的)请问有人可以帮我看看我是哪里错了吗?
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;

}

查看更多回复
提交回复