[COCI2012-2013#2] MORTADELA
题目背景
本题分值按 COCI 原题设置,满分 50 50 50。
题目描述
全国连锁超市(NSC)喜欢吹嘘它们的意式肉肠是全国最低的。
实际上,如果顾客打算在其他连锁超市里找到更便宜的肉肠,那么 NSC 会向其补上差价。
Matej 和 Filip 决定接受这个挑战。他们将会挨个走访 N N N 家不同连锁店,来找到不仅比 NSC 便宜的熟香肠,而且在市场上最便宜的。如果他们成功了,他们就可以在他们学校附近的 NSC 分店买到最便宜的香肠。
NSC 希望没有人能找到更便宜的香肠,因为所有所有连锁超市(包括 NSC)都以一种复杂的方式表示香肠的价格: X X X 元 Y Y Y 克香肠。
请编写一个程序,给定 NSC 与其余 N N N 家连锁店中的香肠价格,求 Matej 和 Filip 必须为靠近学校的 NSC 中的 1000 1000 1000 克熟香肠支付的价格。
输入格式
第一行两个正整数 X NSC ( 1 ≤ X NSC ≤ 100 ) X_{\textrm{NSC}}\ (1\le X_{\textrm{NSC}} \le 100) XNSC (1≤XNSC≤100) 和 Y NSC ( 1 ≤ Y NSC ≤ 1 0 3 ) Y_{\textrm{NSC}}\ (1\le Y_{\textrm{NSC}} \le 10^3) YNSC (1≤YNSC≤103),表示 X NSC X_{\textrm{NSC}} XNSC 是在 NSC 连锁店中 Y NSC Y_{\textrm{NSC}} YNSC 克香肠的价格。
第二行一个正整数 N ( 1 ≤ N ≤ 100 ) N\ (1\le N\le 100) N (1≤N≤100),表示连锁店的数目(不包括 NSC)。
接下来 N N N 行,每行两个正整数 X i , Y i ( X i ≤ 100 , Y i ≤ 1 0 3 ) X_i,Y_i\ (X_i\le 100, Y_i\le 10^3) Xi,Yi (Xi≤100,Yi≤103),表示 X i X_i Xi 是在第 i i i 家连锁店中 Y i Y_i Yi 克香肠的价格。
输出格式
输出仅一行,一个实数,表示结果,保留 2 2 2 位小数。
样例 #1
样例输入 #1
5 100
3
4 100
3 100
7 100
样例输出 #1
30.00
样例 #2
样例输入 #2
13 6
5
56 679
35 120
99 999
56 73
37 532
样例输出 #2
69.55
样例 #3
样例输入 #3
100 5
3
99 8
65 14
78 10
样例输出 #3
4642.86
提示说明
代码内容
// #include <iostream>
// #include <algorithm>
// #include <cstring>
// #include <stack>//栈
// #include <deque>//队列
// #include <queue>//堆/优先队列
// #include <map>//映射
// #include <unordered_map>//哈希表
// #include <vector>//容器,存数组的数,表数组的长度
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ll x,y,n;
cin>>x>>y>>n;
double ans=1.0*x/y*1000;
while(n--)
{
ll a,b;
cin>>a>>b;
ans=min(ans,1.0*a/b*1000);
}
printf("%.2lf",ans);
return 0;
}