zoukankan      html  css  js  c++  java
  • B. Valera and Contest 构造水题

    B. Valera and Contest
    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, if a1, 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 

     注意n==k的情况:

    const int INF = 1000000000;
    const double eps = 1e-8;
    const int maxn = 30000;
    int ans[maxn];
    int main() 
    {
        //freopen("in.txt","r",stdin);
        int n,k,l,r,sa,sk;
        while(cin>>n>>k>>l>>r>>sa>>sk)
        {
            repf(i,1,n) ans[i] = l;
            int L = sk - l*k;
            int ll = L%k;
            repf(i,1,k) ans[i] += L/k;
            repf(i,1,k) if(ll) ll--,ans[i]++;
            if(k == n)
                goto here;
            L = sa - sk;
            L = L - l*(n - k);
            ll = L%(n - k);
            repf(i,k+1,n) ans[i] += L/(n - k);
            repf(i,k+1,n) if(ll) ll--,ans[i]++;
    here:
            repf(i,1,n)
                cout<<ans[i]<<" ";
            cout<<endl;
        }
        return 0;
    }
  • 相关阅读:
    android自定义视图
    CISCO PVST+配置和结果验证 per vlan spanning tree(51cto 实验10)
    读入a,b当a,b不同时为零时结束
    跨交换机VLAN 配置和结果验证(51cto :实验9)
    单交换机VLAN 配置和结果验证(51cto-o8)
    cocos2d(1)
    servlet-session
    Servlet-servletContext
    mysql数据库从windows迁移到linux,或者linux迁移到windows教程
    linux (centos) 安装MySql详细教程!!实战详解
  • 原文地址:https://www.cnblogs.com/DreamHighWithMe/p/3451732.html
Copyright © 2011-2022 走看看