Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #define ll long long int
- using namespace std;
- vector<ll>v;
- ll sum[1000010];
- int main()
- {
- ll n,k;
- cin>>n>>k;
- for(int i=0; i<n; i++){
- ll x;
- cin>>x;
- v.push_back(x);
- // sum[i]=sum[i-1]+a[i];
- }
- sort(v.rbegin(), v.rend());
- //sort(v.begin(), v.end());
- sum[0]=v[0];
- for(int i=1; i<n;i++)
- {
- sum[i]=sum[i-1]+v[i];
- //cout<<sum[i]<<" ";
- }
- if(k>=n)
- return printf("%I64d\n",sum[n-1]),0;
- ll ans=0;
- ll _count=0,sum1=0;
- for(int i=0; i<n; )
- {
- // cout<<i-k+1<<"***";
- //cout<<sum[i-k]<<endl;
- ans+=sum[i+k-1]-sum1;
- sum1=sum[i+k-1];
- //cout<<ans<<endl;
- i=i+k;
- _count++;
- if(_count==2)
- break;
- // if(i>=n)
- // {
- if(i+k-1>=n)
- {
- // cout<<i;
- ll x=0;
- for(int j=i; j<n;j++)
- x+=v[j];
- //cout<<x;
- // cout<<i<<endl;
- // int x=abs(n-(i+k));
- // cout<<x<<endl;
- // i=i+x;
- // cout<<sum[i]<<"213";
- ans+=x;
- break;
- }
- // }
- }
- cout<<ans<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement