Submission #1356359

#TimeUsernameProblemLanguageResultExecution timeMemory
1356359silence25Tezina (COCI26_tezina)C++20
36 / 70
2095 ms5744 KiB
#include "bits/stdc++.h"

using namespace std;

#define ff first
#define ss second
#define pp pop_back
#define ll long long
#define pb push_back
#define pq priority_queue
#define ls(v) (ll)v.size()
#define all(v) v.begin(),v.end()
#define rall(v) v.rbegin(),v.rend()
#define wr cout << "------------------------" << endl
#define tt debug

const ll MAX = 1e8;
const ll N = 1e5 + 5;
ll a[N];
ll res[N];
ll cnt[N];

signed main(){
#ifdef parad0x
    freopen("file.in","r",stdin);
#endif
    #define prll(...) 42

    
    ios::sync_with_stdio(false);cin.tie(nullptr);
    ll n,k;
    cin >> n >> k;
    set<int>st;
    for(ll i = 1;i<=n;++i)
    	cin >> a[i], st.insert(a[i]), cnt[a[i]] += 1;
    ll ans = 0;
    for(auto it:st){
    	ll sum = 0;
    	for(int j = 1;j<=k;++j){
    		ll x = it/j;
    		sum += x;
    		if(x * (it + 2) >= MAX){
    			ans += (MAX * cnt[it]);
    			sum -= x;
    		}
    	}
    	res[it] = sum;
    }
    for(ll i = 1;i<=n;++i){
    	ll sum = res[a[i]];
    	sum *= (a[i] + 2);
    	ans += sum;
    }
    cout << ans << endl;
    return 0;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...