注册 登录
编程论坛 VC++/MFC

求解决结构体问题

Janet姚 发布于 2014-04-27 17:11, 603 次点击
帮忙解释一下为什么我提交后显示是错误的!
#include<stdio.h>
typedef struct store
{
    int d,h;
}inf;
int main()
{
    inf s[1000];
    int m,n,i,k=0,j,r,t,sum=0;
    scanf("%d %d",&m,&n);
    for(i=0;i<n;i++)
        scanf("%d %d",&s[i].d,&s[i].h);
    for(i=0;i<n-1;i++)
        for(j=0;j<n-i-1;j++)
            if(s[j].d>s[j+1].d)
            {
                t=s[j].d;
                s[j].d=s[j+1].d;
                s[j+1].d=t;
                r=s[j].h;
                s[j].h=s[j+1].h;
                s[j+1].h=r;
            }
    for(i=0;i<n&&k<=m;i++)
    {
        k=k+s[i].h;
        sum=sum+s[i].d*s[i].h;
    }
    if(i==n) printf("%d\n",sum);
    else
    {
        sum=sum-s[i-1].d*(k-m);
        printf("%d\n",sum);
    }
   
    return 0;
}

新年快到了,CoCo打算给她的朋友们发贺年卡,而且她已经选好了自己要购买的贺卡的样式。俗话说得好,货比三家不吃亏。CoCo来到了商店,看了各个店铺里这种贺卡的价格,不仅如此,她还记住了每个店铺的存货量。已知CoCo打算购买m张这种贺卡,问她最少要花多少钱?

Input

第一行有两个整数m和n。其中m表示要购买的贺卡的数量,n表示店铺的个数。

以下n行,每行有两个整数,分别表示这家店铺里该种贺卡的单价和存货量。


Output
输出仅一个数,表示CoCo所花最少的钱数。

Sample Input
10 4
4 3
6 2
8 10
3 6
Sample Output
36
HINT
假设店铺数最多不超过1000家。

Source
0 回复
1