Advertisement
Guest User

Untitled

a guest
Jul 2nd, 2012
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.03 KB | None | 0 0
  1. /*
  2.  * File:   main.cpp
  3.  * Author: akash
  4.  *
  5.  * Created on 2 July, 2012, 3:17 PM
  6.  */
  7. #include <stdio.h>
  8. #include <vector>
  9. using namespace std;
  10. int main(){
  11.     int i,j,n,k,temp,maxFrequency,frequency,min,remaining,index,ans = 0;
  12.     int number_to_made_one;
  13.     vector<int> numbers;
  14.     vector<int> flags(100000,0);
  15.     scanf("%d%d",&n,&k);
  16.     remaining = n;
  17.     for(i=0;i<n;i++){
  18.         scanf("%d",&temp);
  19.         numbers.push_back(temp);
  20.     }
  21.     while(remaining != 0){
  22.     maxFrequency = 0;
  23.     for(i=0;i<=n-k;i++){
  24.         min = 1000000002;
  25.         for(j=i;j<i+k;j++){
  26.             if(flags[j] == 0){
  27.                 if(numbers[j] < min)
  28.                     min = numbers[j];
  29.             }
  30.         }
  31.         frequency = 0;
  32.         for(j=i;j<i+k;j++){
  33.             if(numbers[j] == min && flags[j] == 0)
  34.                 frequency++;
  35.         }
  36.         if(frequency > maxFrequency){
  37.             maxFrequency = frequency;
  38.             index = i;
  39.             number_to_made_one = min;
  40.         }
  41.     }
  42.     for(i=index;i<index+k;i++){
  43.         if(numbers[i] == number_to_made_one && flags[i] == 0){
  44.             flags[i] = 1;
  45.             remaining--;
  46.            
  47.                 }
  48.     }
  49.         ans++;
  50. }
  51.     printf("%d\n",ans );
  52.     return 0;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement