Submission #5828030


Source Code Expand

#include "bits/stdc++.h"
using namespace std;

// fundamental
using ll = long long;
#define REP(i,n) for (ll i = 0; i < (n); ++i)
#define FOR(i,s,n) for (ll i = (s); i < (n); ++i)
#define ALL(c) (c).begin(), (c).end()
#define TEN(x) ((ll)1e##x)
#define MAXC(c,x) (c = max(c, x))
#define MINC(c,x) (c = min(c, x))
const ll mod = TEN(9) + 7;

// vector
using vl = vector<ll>; using vvl = vector<vl>; using vvvl = vector<vvl>;
template<class T, size_t N, class A = size_t> auto mdv(A size = 0) -> typename enable_if<N==1, vector<T>>::type { return vector<T>(size); }
template<class T, size_t N, class A = size_t> auto mdv(A size = 0) -> vector<decltype(mdv<T, N - 1>())> { return vector<decltype(mdv<T, N - 1>())>(size); }
template<class T, size_t N, class A, class... B> auto mdv(A size, B... rest) -> typename enable_if<N!=1, vector<decltype(mdv<T, N - 1>(rest...))>>::type { return vector<decltype(mdv<T, N - 1>(rest...))>(size, mdv<T, N - 1>(rest...)); }
template<class T, class... A> auto mdv(A... size) -> decltype(mdv<T, sizeof...(size), A...>(size...)) { return mdv<T, sizeof...(size), A...>(size...); }
// template<size_t N, class A, class... B> auto mdvl(A size, B... rest) -> decltype(mdv<N, ll, A, B...>(size, rest...)) { return mdv<N, ll, A, B...>(size, rest...); }

// template<class T, class A> auto mdv(A size) -> vector<T> { return vector<T>(size); }
// template<class T, class A, class... B> auto mdv(A size, B... rest) -> vector<decltype(mdv<T>(rest...))> { return vector<decltype(mdv<T>(rest...))>(size, mdv<T>(rest...)); }

// io
template<class T> istream& operator >>(istream& is, vector<T>& vec){ for(T& x: vec) is >> x; return is; }
template<class T, class U> istream& operator >>(istream& is, pair<T, U>& p){ is >> p.first >> p.second; return is; }
template<class T> void input(T& t) { cin >> t; assert(cin); } template<class T, class... Ts> void input(T& t, Ts&... ts) { cin >> t; input(ts...); }
template<class T> void print(T&& t) { cout << t; } template<class T, class... Ts> void print(T&& t, Ts&&... ts) { cout << t; print(ts...); }
template<class T> void println(T&& t) { cout << t << endl; } template<class T, class... Ts> void println(T&& t, Ts&&... ts) { cout << t; println(ts...); }
template<class T> string join(const vector<T>& v, const string & sep) { stringstream ss; REP(i, v.size()) ss << (i != 0 ? sep : "") << v[i]; return ss.str(); }

int main() {
    cin.tie(0);
    ios_base::sync_with_stdio(false);
    cout << fixed << setprecision(50);
    ll n; cin >> n;
	ll x = sqrt(n);
	if (x * x == n) x--;

	ll ans = 0;
	FOR(i, 1, x + 1) if (n % i == 0 && n / i != i + 1) ans += n / i - 1;
	
	cout << ans << endl;
}

Submission Info

Submission Time
Task D - DivRem Number
User takamoto
Language C++14 (GCC 5.4.1)
Score 500
Code Size 2697 Byte
Status AC
Exec Time 12 ms
Memory 256 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 2
AC × 25
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
All hand_01.txt, hand_02.txt, hand_03.txt, rand_01.txt, rand_02.txt, rand_03.txt, rand_04.txt, rand_05.txt, rand_06.txt, rand_07.txt, rand_08.txt, rand_09.txt, rand_10.txt, rand_11.txt, rand_12.txt, rand_13.txt, rand_14.txt, rand_15.txt, rand_16.txt, rand_17.txt, rand_18.txt, rand_19.txt, rand_20.txt, sample_01.txt, sample_02.txt
Case Name Status Exec Time Memory
hand_01.txt AC 1 ms 256 KiB
hand_02.txt AC 1 ms 256 KiB
hand_03.txt AC 12 ms 256 KiB
rand_01.txt AC 10 ms 256 KiB
rand_02.txt AC 10 ms 256 KiB
rand_03.txt AC 11 ms 256 KiB
rand_04.txt AC 10 ms 256 KiB
rand_05.txt AC 12 ms 256 KiB
rand_06.txt AC 12 ms 256 KiB
rand_07.txt AC 8 ms 256 KiB
rand_08.txt AC 6 ms 256 KiB
rand_09.txt AC 9 ms 256 KiB
rand_10.txt AC 8 ms 256 KiB
rand_11.txt AC 1 ms 256 KiB
rand_12.txt AC 1 ms 256 KiB
rand_13.txt AC 1 ms 256 KiB
rand_14.txt AC 1 ms 256 KiB
rand_15.txt AC 1 ms 256 KiB
rand_16.txt AC 2 ms 256 KiB
rand_17.txt AC 1 ms 256 KiB
rand_18.txt AC 1 ms 256 KiB
rand_19.txt AC 1 ms 256 KiB
rand_20.txt AC 1 ms 256 KiB
sample_01.txt AC 1 ms 256 KiB
sample_02.txt AC 12 ms 256 KiB