제출 #260588

#제출 시각아이디문제언어결과실행 시간메모리
260588stefantagaToys (CEOI18_toy)C++14
59 / 100
5056 ms780 KiB
#include <bits/stdc++.h> using namespace std; int valori[10000005],q1,n,q,divi[1000005],solutii[1000005],fin; void back1(int nr,int suma,int prod) { if (prod==n) { valori[++fin]=suma-nr; return; } int i; for (i=1;i<=q;i++) { if ((n/prod)%divi[i]==0&&solutii[nr-1]<=divi[i]) { solutii[nr]=divi[i]; back1(nr+1,suma+divi[i],prod*divi[i]); } } } int i,nr; int main() { #ifdef HOME ifstream cin("date.in"); ofstream cout("date.out"); #endif // HOME cin>>n; if (n==1) { cout<<"1"<<'\n'; cout<<"0"; return 0; } for (i=1;i*i<=n;i++) { if (n%i==0) { if (i!=1) { divi[++q]=i; } divi[++q]=n/i; } } back1(0,0,1); sort (valori+1,valori+fin+1); nr=0; for (i=1;i<=fin;i++) { if (valori[i]!=valori[i-1]) { nr++; } } cout<<nr<<'\n'; for (i=1;i<=fin;i++) { if (valori[i]!=valori[i-1]) { cout<<valori[i]<<" "; } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...