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

সি++ কোড: d দিনে প্রথম পাইলে সর্বোচ্চ হে-বেল গণনা করুন

একটি অ্যারে A (n উপাদান) এবং একটি মান d দেওয়া আছে। একজন কৃষক nটি হে-বেল পাইল সাজিয়েছে। i-তম পাইলে A[i]টি হে-বেল আছে। প্রতিদিন একটি গরু যেকোনো একটি পাইল থেকে একটা হে-বেল আড়াঝড়া পাইলে সরাতে পারে। গরু d দিনে প্রথম পাইলে সর্বোচ্চ হে-বেল জমা করতে চায়। প্রথম পাইলে সর্বোচ্চ কতটি হে-বেল থাকবে তা বের করতে হবে।

উদাহরণ

d=5, A=[1,0,3,2] → আউটপুট: 3
ব্যাখ্যা: প্রথম দিন ৩য় পাইল থেকে ২য়ে, دوم দিন আবার ৩য় থেকে ২য়ে, পরের দু দিন ২য় থেকে ১ম পাইলে।

সমাধানের ধাপসমূহ

a0 := A[0]
n := A-এর সাইজ
for i := 1 to n-1:
    ai := A[i]
    w := min(ai, d / i)
    a0 += w
    d -= w * i
return a0

সি++ কোড উদাহরণ

#include <bits/stdc++.h>
using namespace std;

int solve(int d, vector<int> A) {
    int a0 = A[0];
    int n = A.size();
    for (int i = 1; i < n; i++) {
        int ai = A[i];
        int w = min(ai, d / i);
        a0 += w;
        d -= w * i;
    }
    return a0;
}

int main() {
    int d = 5;
    vector<int> A = {1, 0, 3, 2};
    cout << solve(d, A) << endl;
}

ইনপুট

5, { 1, 0, 3, 2 }

আউটপুট

3
  1. সি++ কোড: কম্পোট বানাতে সর্বোচ্চ ফল সংখ্যা বের করুন

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

  3. C++ কোড: প্রথম ছাত্রের সর্বোচ্চ সম্ভাব্য স্কোর নির্ণয়

  4. C++-এ সর্বোচ্চ স্বতন্ত্র এলিমেন্ট বিশিষ্ট সাবসিকোয়েন্স সংখ্যা গণনা