답안 #370603

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
370603 2021-02-24T08:23:13 Z Atill83 Savrsen (COCI17_savrsen) C++14
120 / 120
564 ms 91096 KB
#include <bits/stdc++.h>
#define ff first
#define ss second
#define endl '\n'
using namespace std;
const long long INF = (long long) 1e18;
const int mod = (int) 1e9+7;
const int MAXN = (int) 1e7+5;

typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
ll n;
bool pr[MAXN];
ll sum[MAXN];
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);cout.tie(nullptr);

    #ifdef Local
        freopen("C:/Users/Admin/Desktop/Yazilim/C/IO/int.txt","r",stdin);
        freopen("C:/Users/Admin/Desktop/Yazilim/C/IO/out.txt","w",stdout);
    #endif

    int a, b;
    cin>>a>>b;
    int top = 0;
    vector<int> prims;
    prims.push_back(2);
    for(int i = 3; i <= b; i += 2){
        if(pr[i]) 
            continue;
        prims.push_back(i);
        for(ll j = 1LL * i * i ; j <= b; j += i){
            pr[j] = 1;
        }
    }

    for(int i = 1; i <= b; i++)
        sum[i] = 1;

    for(int c: prims){
        ll sm = 1;
        for(ll x = c; x <= b; x *= c){
            for(int j = x;  j <= b; j += x){
                sum[j] /= sm;
                sum[j] *= (sm + x);
            }
            sm += x;
        }
    }

    ll ans = 0;

    for(int i = a; i <= b; i++){
        ans += abs(sum[i] - 2*i);
    }
    cout<<ans<<endl;


    #ifdef Local
        cout<<endl<<fixed<<setprecision(2)<<1000.0 * clock() / CLOCKS_PER_SEC<< " milliseconds ";
    #endif
}

Compilation message

savrsen.cpp: In function 'int main()':
savrsen.cpp:28:9: warning: unused variable 'top' [-Wunused-variable]
   28 |     int top = 0;
      |         ^~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 4 ms 1388 KB Output is correct
4 Correct 564 ms 91096 KB Output is correct
5 Correct 548 ms 91096 KB Output is correct
6 Correct 543 ms 91096 KB Output is correct
7 Correct 515 ms 84064 KB Output is correct
8 Correct 123 ms 23656 KB Output is correct