কম্পিউটার টিউটোরিয়াল

C++ কোড: বই পড়া শেষ করার জন্য দিন গণনা


মান লক্ষ্য করুন একটি n এলিমেন্টের অ্যারে A এবং আরেকটি মান t। i-তম দিন আমল A[i] সেকেন্ড কাজে ব্যয় করে। ফ্রি টাইমে সে বই পড়ে। পুরো বই পড়তে t সেকেন্ড লাগবে। আমাদের কত দিনে সে পুরো বই পড়া শেষ করবে তা বের করতে হবে।

তাই, যদি ইনপুট হয় A = [86400, 86398]; t = 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

  1. সি++ কোড: রোবটের ফাইনাল পজিশন পাওয়ার জন্য ন্যূনতম স্টেপ গণনা করুন

  2. সি++ কোড: k ছাড়া কপি অপারেশন সংখ্যা গণনা করুন

  3. সি++-এ ৩ বা ৭-এর গুণিতক গণনা

  4. C++-এ সম্পূর্ণ বাইনারি ট্রির নোড গণনা (Count Complete Tree Nodes)