关闭

B. Valera and Contest

1112人阅读 评论(0) 收藏 举报
分类:

time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Valera loves to participate in competitions. Especially in programming contests. Today he has participated in the contest with his team, consisting of n students (including Valera). This contest was an individual competition, so each student in the team solved problems individually.

After the contest was over, Valera was interested in results. He found out that:

  • each student in the team scored at least l points and at most r points;
  • in total, all members of the team scored exactly sall points;
  • the total score of the k members of the team who scored the most points is equal to exactly sk; more formally, ifa1, a2, ..., an is the sequence of points earned by the team of students in the non-increasing order (a1 ≥ a2 ≥ ... ≥ an), then sk = a1 + a2 + ... + ak.

However, Valera did not find out exactly how many points each of n students scored. Valera asked you to recover any distribution of scores between the students of the team, such that all the conditions above are met.

Input

The first line of the input contains exactly six integers n, k, l, r, sall, sk (1 ≤ n, k, l, r ≤ 1000l ≤ rk ≤ n1 ≤ sk ≤ sall ≤ 106).

It's guaranteed that the input is such that the answer exists.

Output

Print exactly n integers a1, a2, ..., an — the number of points each student scored. If there are multiple solutions, you can print any of them. You can print the distribution of points in any order.

Sample test(s)
input
5 3 1 3 13 9
output
2 3 2 3 3 
input
5 3 1 3 15 9
output
3 3 3 3 3 

解题说明:模拟题,看懂题意即可


#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;

int main()
{
	int n,k,r,l,sa,sk,i;
	scanf("%d%d%d%d%d%d",&n,&k,&l,&r,&sa,&sk);
	int x=sk/k;
	int y=sk%k;
	for(i=0;i<y;i++)
	{
		printf("%d ",x+1);
	}
	for(i=0;i<k-y;i++)
	{
		printf("%d ",x);
	}
	if(n-k!=0)
	{
		 x=(sa-sk)/(n-k);
		 y=(sa-sk)%(n-k);
		for(i=0;i<y;i++)
		{
			printf("%d ",x+1);
		}
		for(i=0;i<n-k-y;i++)
		{
			printf("%d ",x);
		}
	}
	printf("\n");
	return 0;
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2022457次
    • 积分:34370
    • 等级:
    • 排名:第132名
    • 原创:1437篇
    • 转载:121篇
    • 译文:19篇
    • 评论:912条
    最新评论