cf 16B
2015-01-14 16:50
1176 查看
B. Burglar and Matches
time limit per test
0.5 second
memory limit per test
64 megabytes
input
standard input
output
standard output
A burglar got into a matches warehouse and wants to steal as many matches as possible. In the warehouse there are m containers, in thei-th container there are ai matchboxes, and each matchbox contains bi matches. All the matchboxes are of the same size. The burglar's rucksack can hold n matchboxes exactly. Your task is to find out the maximum amount of matches that a burglar can carry away. He has no time to rearrange matches in the matchboxes, that's why he just chooses not more than n matchboxes so that the total amount of matches in them is maximal.
Input
The first line of the input contains integer n (1 ≤ n ≤ 2·108) and integer m (1 ≤ m ≤ 20). The i + 1-th line contains a pair of numbers ai andbi (1 ≤ ai ≤ 108, 1 ≤ bi ≤ 10). All the input numbers are integer.
Output
Output the only number — answer to the problem.
Sample test(s)
input
output
input
output
time limit per test
0.5 second
memory limit per test
64 megabytes
input
standard input
output
standard output
A burglar got into a matches warehouse and wants to steal as many matches as possible. In the warehouse there are m containers, in thei-th container there are ai matchboxes, and each matchbox contains bi matches. All the matchboxes are of the same size. The burglar's rucksack can hold n matchboxes exactly. Your task is to find out the maximum amount of matches that a burglar can carry away. He has no time to rearrange matches in the matchboxes, that's why he just chooses not more than n matchboxes so that the total amount of matches in them is maximal.
Input
The first line of the input contains integer n (1 ≤ n ≤ 2·108) and integer m (1 ≤ m ≤ 20). The i + 1-th line contains a pair of numbers ai andbi (1 ≤ ai ≤ 108, 1 ≤ bi ≤ 10). All the input numbers are integer.
Output
Output the only number — answer to the problem.
Sample test(s)
input
7 3 5 10 2 5 3 6
output
62
input
3 3 1 3 2 2 3 1
output
7
#include<iostream> #include<cstdio> #include<cstring> #include<string> #include<cmath> #include<cstdlib> #include<algorithm> using namespace std; int n,m; struct node { int x,y; }e[30]; bool cmp(node a,node b) { return a.y>b.y; } int main() { int ans=0; scanf("%d%d",&n,&m); for(int i=1;i<=m;i++) scanf("%d%d",&e[i].x,&e[i].y); sort(e+1,e+1+m,cmp); for(int i=1;i<=m;i++) { if(n>=e[i].x) { ans+=e[i].x*e[i].y; n=n-e[i].x; } else { ans+=e[i].y*n; break; } } printf("%d\n",ans);; return 0; }
相关文章推荐
- CF_#277.5_DIV2_A_B_C
- CF 483D - Interesting Array(TODO)
- 【CF-496B】Secret Combination(最小字符串表示法)
- CF-goodby 2014-D
- CF_492B Vanya and Lanterns
- cf 305A
- CF 504E Misha and LCP on Tree(树链剖分+后缀数组)
- CF 505B Mr. Kitayuta's Colorful Graph(最短路)
- cf C Milking cows
- cf C. George and Number
- CFNetwork概念(CFNetwork Concepts )
- 【iOS开发-114】ABAddressBook通讯录:增删改查的简单介绍,CF框架于F框架间的转换
- CFPropertyListCreateDeepCopy fails to process array / dictionary containing NSNull
- 【CF】 159 D Palindrome pairs
- CFlie操作-读与写
- CF 187C Weak Memory 优先队列 难度:2
- -[__NSCFString absoluteURL]:
- CF 两题
- CF 241E flights 最短路,重复迭代直到稳定 难度:3
- [CF 335E]Counting Skyscrapers题解翻译