मान लीजिए कि हमारे पास n तत्वों के साथ एक सरणी A है और दूसरा मान t है। सातवें दिन अमल काम में A[i] सेकंड बिताता है। खाली समय में वह एक किताब पढ़ता है। पूरी किताब को पूरा होने में t सेकंड का समय लगेगा। हमें यह पता लगाना होगा कि उसे पूरी किताब पढ़ने के लिए कितने दिनों की आवश्यकता होगी।
तो, अगर इनपुट ए =[86400, 86398] की तरह है; t =2, तो आउटपुट 2 होगा, क्योंकि एक दिन में 86400 सेकंड होते हैं, और पहला दिन पूरी तरह से अवरुद्ध होता है। दूसरे दिन उन्हें किताब पूरी करने के लिए 2 सेकंड का समय मिलेगा।
कदम
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
cnt := 1 n := size of A for initialize i := 0, when i < n, update (increase i by 1), do: x := A[i] t := t - 86400 - x if t <= 0, then: return cnt (increase cnt by 1)
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <bits/stdc++.h>
using namespace std;
int solve(vector<int> A, int t){
int cnt = 1;
int n = A.size();
for (int i = 0; i < n; i++){
int x = A[i];
t -= 86400 - x;
if (t <= 0){
return cnt;
}
++cnt;
}
}
int main(){
vector<int> A = { 86400, 86398 };
int t = 2;
cout << solve(A, t) << endl;
} इनपुट
{ 86400, 86398 }, 2 आउटपुट
2