Submission #934314

#TimeUsernameProblemLanguageResultExecution timeMemory
934314tamir1Toys (CEOI18_toy)C++14
0 / 100
1 ms344 KiB
#include<bits/stdc++.h> #define ll int using namespace std; ll n,i,j,m,x,y; vector<ll> a,b; unordered_map<ll,ll> mp; int main(){ /*ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);*/ //cin >> n; scanf("%d",&n); for(i=1;i*i<=n;i++){ if(n%i!=0) continue; if(i*i==n){ a.push_back(i); continue; } a.push_back(i); b.push_back(n/i); } m=b.size(); for(i=m-1;i>=0;i--) a.push_back(b[i]); m=a.size(); set<ll> s[m]; for(i=0;i<m;i++){ mp[a[i]]=i; x=a[i]; s[i].insert(x-1); for(j=1;a[j]*a[j]<=x;j++){ y=a[j]; if(x%y!=0) continue; for(ll l:s[mp[y]]){ for(ll r:s[mp[x/y]]){ s[i].insert(l+r); } } } } //cout << s[m-1].size() << "\n"; printf("%d\n",s[m-1].size()); for(ll i:s[m-1]) printf("%d ",i); //cout << i << " "; }

Compilation message (stderr)

toy.cpp: In function 'int main()':
toy.cpp:41:11: warning: format '%d' expects argument of type 'int', but argument 2 has type 'std::set<int>::size_type' {aka 'long unsigned int'} [-Wformat=]
   41 |  printf("%d\n",s[m-1].size());
      |          ~^    ~~~~~~~~~~~~~
      |           |               |
      |           int             std::set<int>::size_type {aka long unsigned int}
      |          %ld
toy.cpp:12:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   12 |  scanf("%d",&n);
      |  ~~~~~^~~~~~~~~
#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...