Submission #49829

#TimeUsernameProblemLanguageResultExecution timeMemory
49829A_H_GhaznaviTimovi (COCI18_timovi)C++14
80 / 80
52 ms3124 KiB
// In the name of god
// A.H.Ghaznavi
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
ll n,k,m,ans[200010],bag1,bag2,mtk,w,x;
int main()
{
    ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    cin>>n>>k>>m;
    mtk=m/k;
    w=m%k;
    if (n*k>=m)
    {
        for (ll i=0;i<mtk;i++)
            ans[i]=k;
        ans[mtk]=w;
        for (ll i=0;i<n;i++)
            cout<<ans[i]<<" ";
        return 0;
    }
    mtk-=n;
    for (ll i=1;i<=n;i++)
        ans[i]=k;
    bag1=mtk/(n-1);
    bag2=mtk%(n-1);
    if (bag1%2==0)
    {
        if (n!=2)
        {
            for (ll i=2;i<=n-1;i++)
                ans[i]+=bag1*k;
        }
        ans[1]+=(bag1*k)/2;
        ans[n]+=(bag1*k)/2;
        if (bag2)
        {
            for (ll i=n-1;i>=n-bag2;i--)
                ans[i]+=k;
        }
        ans[n-bag2-1]+=w;
        for (ll i=1;i<=n;i++)
            cout<<ans[i]<<" ";
        return 0;
    }
    if (n!=2)
    {
        for (ll i=2;i<=n-1;i++)
            ans[i]+=bag1*k;
    }
    ans[1]+=((bag1+1)/2)*k;
    ans[n]+=(bag1/2)*k;
    for (ll i=2;i<=bag2+1;i++)
        ans[i]+=k;
    ans[bag2+2]+=w;
    for (ll i=1;i<=n;i++)
        cout<<ans[i]<<" ";
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...