zoukankan      html  css  js  c++  java
  • CSU 1559 订外卖

    题目链接;http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82842#problem/E    订外卖

    解题思路:定义两个数组,a[]表示满A,b[]表示减B,即满A-B表示为a[i]-b[i],x用来存储买一次外卖花的钱,将f赋一个比较大的值,将每输入的一次x与a[i]做对比后,再与b[i]做差值,并赋给j,再在j与f中取最小的,循环完后即是最优惠方案了。

    程序代码:

     1 #include <iostream>
     2 #include <algorithm>
     3 #include <cstring>
     4 #include <cstdio>
     5 using namespace std;
     6 int a[105],b[105];
    11 int main()
    12 {
    13     int t;cin>>t;
    14     while(t--)
    15     {
    16         memset(a,0,sizeof(a));
    17         memset(b,0,sizeof(b));
    18         int n,i,m;
    19         cin>>n>>m;
    20         for( i=0;i<n;i++)
    21             scanf("%d%d",&a[i],&b[i]);
    22         int sum=0;
    23         while(m--)
    24             {
    25                 int j,x,f=10000;
    26             scanf("%d",&x);
    27             for( i=0;i<n;i++)
    28             if(x>=a[i]) { j=x-b[i]; if(j<f)     f=j;}
    29             if(f==10000)
    30                 sum=sum+x;
    31             else sum=sum+f;
    32             }
    33             cout<<sum<<endl;
    34 
    35     }
    36     return 0;
    37 }
    版权声明:此代码归属博主, 请务侵权!
  • 相关阅读:
    快速排序
    优先队列
    堆排序
    树、二叉树基础
    分治法
    递归算法详细分析
    算法基础
    Linux文件系统详解
    fs/ext2/inode.c相关函数注释
    块设备的读流程分析
  • 原文地址:https://www.cnblogs.com/www-cnxcy-com/p/4655664.html
Copyright © 2011-2022 走看看