nikunjsoni

683

May 28th, 2021
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.63 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     int kEmptySlots(vector<int>& bulbs, int k) {
  4.         int n=bulbs.size();
  5.         vector<int> days(n, INT_MAX);
  6.         for(int i=0; i<n; i++)
  7.             days[bulbs[i]-1] = i+1;
  8.        
  9.         int left = 0, right = left+k+1;
  10.         int ans = INT_MAX;
  11.         for(int i=0; right<n; i++){
  12.             if(days[i] <  days[left] || days[i] <= days[right]){
  13.                 if(days[i] == days[right])
  14.                     ans = min(ans, max(days[left], days[right]));
  15.                 left = i;
  16.                 right = left+k+1;
  17.             }
  18.         }
  19.         return (ans == INT_MAX) ? -1 : ans;
  20.     }
  21. };
Advertisement
Add Comment
Please, Sign In to add comment