Monday, August 28, 2017

11900 - Boiled Eggs Uva Problem Solution & Logic

https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3051

তোমায় কিছু n সংখ্যক  ডিম দেয়া থাকবে , সেগুলোকে একটা বাটিতে নিয়ে সিদ্ধ করতে হবে
কিন্তু , P এর বেশী সংখ্যক ডিম বাটিতে রাখা যাবে না , তাহলে রিস্ক হয়ে যাবে  । আর , বাটি সর্বচ্চ  Q গ্রাম  ডিম বহন করতে পারে , তোমাকে যে কয়টা ডিমের কথা বলা আছে -- সে কয়টা ডিম এর প্রত্যেক
কতো গ্রাম করে ?? সেটাও বলে দেয়া থাকবে ইনপুটে । এখন , তোমায় বলতে হবে -----সব ধরনের সাবধানতা অবলম্বন করে মোট কয়টা ডিম , ওই বাটিতে নিয়ে সেদ্ধ করা সম্ভব হবে ???



এটা আহামরি কিছু নয় , যে অ্যারে'তে ডিম কতো গ্রাম করে ?? সেটা দেয়া আছে । । সেই অ্যারে'র মান গুলো যোগ করতে থাকবা এমনভাবে , যেনো কখনো  Q গ্রাম এর বেশী না হয় ও ডিম এর সংখ্যা P এর চেয়ে বেশী না হয় , আশা করি - এবার ইমপ্লিমেন্ট করতে কোনো সমস্যা হবার কথা নয় ।।

চলো, কোড দেখি এবার ----------------


#include <iostream>






using namespace std;
int main()
{
    int t,k,n,p,q,i,a[32],sum;
    scanf("%d",&t);
    for(k=1;k<=t;k++)
    {
        scanf("%d %d %d",&n,&p,&q);
        for(i=0;i<n;i++)
        scanf("%d",&a[i]);
     for(i=0,sum=0;i<n;i++)
     {
         if(i>=p || sum+a[i]>q) break;
         else sum+=a[i];
     }


         printf("Case %d: %d\n",k,i);

    }
    return 0;
}

No comments:

Post a Comment