#include <bits/stdc++.h>
#include <memory>
#pragma GCC optimize("O2")
#define endl '\n'
#define int long long
using namespace std;
//lo codeare desde 0 para que no me esten questionando
struct Trie{
vector<unique_ptr<Trie>> letras;
Trie():letras(26){}
void insert(const string &s)
{
Trie* nodo=this;
for(const auto &c:s)
{
int idx=c-'A';
if(!nodo->letras[idx])
nodo->letras[idx]=make_unique<Trie>();
nodo=nodo->letras[idx].get();
}
}
vector<char> query(const string &s)
{
vector<char> res;
Trie* nodo=this;
for(const auto &c:s)
{
int idx=c-'A';
if(!nodo->letras[idx])
nodo->letras[idx]=make_unique<Trie>();
nodo=nodo->letras[idx].get();
}
for(int i=0;i<26;i++)
if(nodo->letras[i])
res.push_back(i+'A');
return res;
}
};
int32_t main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cout.precision(0);
cout<<fixed;
//3 2 7
//equipos,distribucion,niños
int n,k,m;
cin>>n>>k>>m;
bool al=true;
vector<int> x(n,0);
for(int i=0;m>0;i+=(al?1:-1))
{
if(m>k)
{
x[i]+=k;
m-=k;
}else
{
x[i]+=m;
m=0;
break;
}
if(i==n-1)
al=false;
if(i==0)
al=true;
}
for(int i=0;i<n;i++)
cout<<x[i]<<" ";
cout<<endl;
/*int v=m/(k*n),c=v*(k*n); descartado para raspar y porque pense que el orden era ej n=3 1 2 3 3 2 1 pero no :'( al menos si fuera eso me diera AC
m-=c;
//cout<<v<<" "<<m<<endl;
vector<int> x(n);
for(int i=0;i<n;i++)
x[i]=v*k;
//0 izq a derecha ,1 derecha a izq
bool pos=((c&1)?1:0);
if(pos)
{
for(int i=n-1;i>=0;i--)
{
if(m>k)
{
x[i]+=k;
m-=k;
}else
{
x[i]+=m;
m=0;
break;
}
}
}else
{
for(int i=0;i<n;i++)
{
if(m>k)
{
x[i]+=k;
m-=k;
}else
{
x[i]+=m;
m=0;
break;
}
}
}
for(int i=0;i<n;i++)
cout<<x[i]<<" ";
cout<<endl;
*/
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |