1065C - Make It Equal - CodeForces Solution


greedy *1600

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;
#define int long long
void solve(){
         int size= 2e5;
 int n,k;
 cin>>n>>k;
 int fre[200001]={0};
 int arr[n];
 int mini= INT_MAX;
 for(int i=0; i<n; i++){
     cin>>arr[i];
     mini= min(mini, arr[i]);
 }
 
 for(int i=0; i<n; i++){
     arr[i]=arr[i]-mini;
     fre[arr[i]]++;
 }
 for(int i=2e5-1; i>=1; i--){
     fre[i]+=fre[i+1];
 }
 
//  for(int i=1; i<5; i++){
//      cout<<fre[i]<<" ";
//  }
 reverse(fre+1, fre+size);
 int ct=0;
 int i=1;
 while(i<=size){
     int sum=0;
     while(i<=size){
         if(sum+fre[i]<=k){
             sum+=fre[i];
             i++;
         }else break;
     }if(sum)ct++;
 }
 cout<<ct<<endl;
 
}
int32_t main(){
    
    ios_base::sync_with_stdio(false);
        cin.tie(0); cout.tie(0);
        
    int t=1;
    // cin>>t;
    while(t--){
        solve();
    } 
    return 0;
}


Comments

Submit
0 Comments
More Questions

41C - Email address
1373D - Maximum Sum on Even Positions
1574C - Slay the Dragon
621A - Wet Shark and Odd and Even
1395A - Boboniu Likes to Color Balls
1637C - Andrew and Stones
1334B - Middle Class
260C - Balls and Boxes
1554A - Cherry
11B - Jumping Jack
716A - Crazy Computer
644A - Parliament of Berland
1657C - Bracket Sequence Deletion
1657B - XY Sequence
1009A - Game Shopping
1657A - Integer Moves
230B - T-primes
630A - Again Twenty Five
1234D - Distinct Characters Queries
1183A - Nearest Interesting Number
1009E - Intercity Travelling
1637B - MEX and Array
224A - Parallelepiped
964A - Splits
1615A - Closing The Gap
4C - Registration System
1321A - Contest for Robots
1451A - Subtract or Divide
1B - Spreadsheet
1177A - Digits Sequence (Easy Edition)