Submission #1268512

#TimeUsernameProblemLanguageResultExecution timeMemory
1268512juan_alejandroTimovi (COCI18_timovi)C++20
40 / 80
1095 ms2376 KiB
#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 timeMemoryGrader output
Fetching results...