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

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

n সংখ্যক ছাত্রের একটি পরীক্ষায় সর্বোচ্চ স্কোর m। প্রতিটি ছাত্রের স্কোর A[i]। আমরা প্রতিটি ছাত্রের স্কোর পরিবর্তন করতে পারি, তবে শর্তগুলো পূরণ করতে হবে: কোনো স্কোর m-র চেয়ে বেশি হবেনা, সব স্কোর পূর্ণসংখ্যা হবে, এবং সব ছাত্রের গড় স্কোর অপরিবর্তিত থাকবে। প্রথম ছাত্রের স্কোর সর্বোচ্চ কত হতে পারে তা বের করতে হবে।

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

সব ছাত্রের স্কোরের যোগফল (sum) বের করুন। প্রথম ছাত্রের সর্বোচ্চ সম্ভাব্য স্কোর হবে min(m, sum)। কারণ সবচেয়ে বেশি স্কোর দেওয়ার জন্য বাকি সব ছাত্রের স্কোর ০ করতে হলে, প্রথম ছাত্রের স্কোর হবে sum। কিন্তু এটি m-র চেয়ে বেশি হলে m-ই সর্বোচ্চ।

উদাহরণ

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

int solve(vector<int> A, int m) { 
    int sum = 0; 
    int n = A.size(); 
    for (int j = 0; j < n; j++) { 
        sum += A[j]; 
    } 
    return min(m, sum); 
} 

int main() { 
    vector<int> A = { 1, 2, 3, 4 }; 
    int m = 10; 
    cout << solve(A, m) << endl; 
    return 0; 
}

ইনপুট

{ 1, 2, 3, 4 }, 10

আউটপুট

10

ব্যাখ্যা

গড় = (1+2+3+4)/4 = 2.5। যোগফল = 10। প্রথম ছাত্রকে 10 দিয়ে বাকিদের ০ দিলে গড় থাকে 2.5। m = 10 হলে সর্বোচ্চ সম্ভাব্য স্কোর 10।

  1. C++ প্রোগ্রাম: গ্রাফ থেকে এজ মুছে স্কোর সর্বনিম্ন করায় সর্বোচ্চ কমতি

  2. C++-এ অক্ষর দিয়ে শব্দ বানিয়ে সর্বোচ্চ স্কোর (Maximum Score Words Formed by Letters)

  3. C++-এ একটি দিয়ে দেয়া সংখ্যার অঙ্ক ব্যবহার করে সর্বোচ্চ সংখ্যা নির্ণয়

  4. সি++ প্রোগ্রাম: n কি k সংখ্যার গুণফল হিসেবে লেখা সম্ভব কিনা যাচাই