Codeforces 557A Ilya and Diplomas 【水题】
来源:互联网 发布:类似于whatsapp的软件 编辑:程序博客网 时间:2024/05/17 07:48
题目链接:Codeforces 557A Ilya and Diplomas
A. Ilya and Diplomas
time limit per test1 second
memory limit per test256 megabytes
inputstandard input
outputstandard output
Soon a school Olympiad in Informatics will be held in Berland, n schoolchildren will participate there.
At a meeting of the jury of the Olympiad it was decided that each of the n participants, depending on the results, will get a diploma of the first, second or third degree. Thus, each student will receive exactly one diploma.
They also decided that there must be given at least min1 and at most max1 diplomas of the first degree, at least min2 and at most max2 diplomas of the second degree, and at least min3 and at most max3 diplomas of the third degree.
After some discussion it was decided to choose from all the options of distributing diplomas satisfying these limitations the one that maximizes the number of participants who receive diplomas of the first degree. Of all these options they select the one which maximizes the number of the participants who receive diplomas of the second degree. If there are multiple of these options, they select the option that maximizes the number of diplomas of the third degree.
Choosing the best option of distributing certificates was entrusted to Ilya, one of the best programmers of Berland. However, he found more important things to do, so it is your task now to choose the best option of distributing of diplomas, based on the described limitations.
It is guaranteed that the described limitations are such that there is a way to choose such an option of distributing diplomas that all n participants of the Olympiad will receive a diploma of some degree.
Input
The first line of the input contains a single integer n (3 ≤ n ≤ 3·106) — the number of schoolchildren who will participate in the Olympiad.
The next line of the input contains two integers min1 and max1 (1 ≤ min1 ≤ max1 ≤ 106) — the minimum and maximum limits on the number of diplomas of the first degree that can be distributed.
The third line of the input contains two integers min2 and max2 (1 ≤ min2 ≤ max2 ≤ 106) — the minimum and maximum limits on the number of diplomas of the second degree that can be distributed.
The next line of the input contains two integers min3 and max3 (1 ≤ min3 ≤ max3 ≤ 106) — the minimum and maximum limits on the number of diplomas of the third degree that can be distributed.
It is guaranteed that min1 + min2 + min3 ≤ n ≤ max1 + max2 + max3.
Output
In the first line of the output print three numbers, showing how many diplomas of the first, second and third degree will be given to students in the optimal variant of distributing diplomas.
The optimal variant of distributing diplomas is the one that maximizes the number of students who receive diplomas of the first degree. Of all the suitable options, the best one is the one which maximizes the number of participants who receive diplomas of the second degree. If there are several of these options, the best one is the one that maximizes the number of diplomas of the third degree.
Examples
input
6
1 5
2 6
3 7
output
1 2 3
input
10
1 2
1 3
1 5
output
2 3 5
input
6
1 3
2 2
2 2
output
2 2 2
题意:n个人分奖,给出一、二、三等奖最少、最多的人数。要求一等奖人数尽量大、同样二等奖、三等奖。
AC代码:
#include <cstdio>#include <algorithm>using namespace std;const int MAXN = 1e6 + 10;int a[3], b[3];int ans[3];int main(){ int n; while(scanf("%d", &n) != EOF) { for(int i = 0; i < 3; i++) { scanf("%d%d", &a[i], &b[i]); } for(int i = 0; i < 3; i++) { int Max = 0, Min = 0; for(int j = i+1; j < 3; j++) { Max += b[j]; Min += a[j]; } ans[i] = min(b[i], n - Min); n -= ans[i]; } for(int i = 0; i < 3; i++) { if(i) printf(" "); printf("%d", ans[i]); } printf("\n"); } return 0;}
- Codeforces 557A Ilya and Diplomas 【水题】
- CodeForces 557A-Ilya and Diplomas【模拟】
- CodeForces 557A Ilya and Diplomas
- CodeForces - 557A Ilya and Diplomas
- CodeForces 557A Ilya and Diplomas
- 【55.70%】【codeforces 557A】Ilya and Diplomas
- codeforces A. Ilya and Diplomas
- Codeforces 557A Ilya and Diplomas 区间选数
- CodeForces - 557A Ilya and Diplomas (模拟)水
- 【CodeForces】557A - Ilya and Diplomas(水)
- CodeForces#311 A. Ilya and Diplomas
- A. Ilya and Diplomas
- CF 557A(Ilya and Diplomas-贪心)
- coderforce A.Ilya and Diplomas
- Codeforces Round #311 (Div. 2)A Ilya and Diplomas
- Codeforces Round #311 (Div. 2) A. Ilya and Diplomas
- A. Ilya and Diplomas( Codeforces Round #311 (Div. 2) )
- Code Forces 557 A. Ilya and Diplomas(水~)
- Tomcat数据源的配置
- 构造函数不能为虚函数
- PHP的UTF-8中文转拼音处理类(性能已优化至极致)
- 对任意10个数字求和(6)
- Linux目录结构和常用命令
- Codeforces 557A Ilya and Diplomas 【水题】
- Centos开机自启动redis
- 海康摄像头恢复出厂监控录像视频恢复
- C++ 类的“三法则”
- 腾讯实习生面试印象
- postgres数据库创建主分表的语法
- c# 自定义扩展方法
- HDU1181 变形课 DFS
- android 控件有选择的画边框