Submission #1340789

#TimeUsernameProblemLanguageResultExecution timeMemory
1340789rony_jsTezina (COCI26_tezina)C++20
36 / 70
2095 ms8140 KiB

#include <bits/stdc++.h>
#define int long long


using namespace std;



inline void solve(){

	int n,k; cin>>n>>k;
	vector<int>v(n);
	set<int>s;
	map<int,int>m;
	for(int i = 0; i<n; i++){cin>>v[i];
		m[v[i]]++;
		s.insert(v[i]);
	}

	int ans = 0;	

	for(auto to: s){
		int c = 0;
		bool x = 0;
		int sq = sqrt(to);
		int ktr = min(to,k);
		for(int j = 1; j<=ktr; j++){
			if(((to/j)*(to+2))>100000000)c+=100000000;
			else {
				int l = (to/j)*(to+2);
				if(l==to+2){
					c+=(to+2)*(ktr-j+1);
					// cout<<'@'<<' ';
					x = 1;
				}else c+= (to/j)*(to+2);
				// cout<<l<<' ';
			}
			if(x)break;
			// cout<<(to/j)*(to+2)<<' ';
		}
		// cout<<endl;
		ans+=c*m[to];
	}

	cout<<ans<<endl;


}


signed main(){

	solve();

	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...