A. Caisa and Sugar
链接:http://codeforces.com/contest/463/problem/A
大致题意:先给定两个整数n和s,n代表所拥有的糖类的总数,s代表的是此时所拥有的钱数,在给出n个糖果的属性,每个糖果有两个整数x,y表示,其中x表示元,y代表分,x,y组合就能表示出糖果的价格。对于购买每个糖果都会获得一些找零,但是找零又用糖果代替,每1分钱获得1个糖果,最大不超过99。 只能买一种糖果,问最大的获得糖果数。
大致思路:签到题。 题意比较扭曲,首先先将超过购物能力的糖果全部去除掉(分位为零的糖果也要去除),然后找出来,第二位最小的即可。
code:
#include <cstring>
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include<algorithm>
using namespace std;
const int MAX_N=2000;
typedef unsigned long long uLL;
int a[MAX_N];
int main()
{
int n,s,x,y,tt;
scanf("%d%d",&n,&s);
tt=0;
for(int i=0;i<n;i++){
scanf("%d%d",&x,&y);
if(x*100+y>s*100) continue;
if(y==0) y=100;
a[tt++]=y;
}
if(tt==0){
printf("-1\n");
}
else{
sort(a,a+tt);
printf("%d\n",100-a[0]);
}
return 0;
}
B. Caisa and Pylons