Monday 23 January 2017

Problem:http://codeforces.com/contest/760/problem/B
Hints:
মনে করি আমার কাছে ৯ টি ব্যাড আছে ,৩০ টি বালিশ আছে। প্রতিটি ব্যাড এ বালিশ এমন ভাবে রাখতে হবে যাতে ৪ নং ব্যাড এ বালিশ সংখ্যা  সর্বাধিক থাকে। এবং পাশাপাশি দুটি ব্যাড এ বালিশ সংখ্যার পার্থক্য ১ এর বেশি না হয়। এবং কমপক্ষে একটা ব্যাড  এ একটা  বালিশ থাকে।
তাহলে আমরা যদি এভাবে সাজাই,

(এখানে বর্গ গুল ব্যাড এবং তীর গুল বালিশ )



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

int n,m,k,a,b,i=1;

main(){
cin>>n>>m>>k;
m-=n;
a=1;

if(m==0)
        return cout<<1,0;
m--;
   //cout<<"m="<<m<<endl;
while(m>=0){
if(k+i<=n)a++;
if(k-i>=1)a++;
//cout<<m<<" "<<a<<" "<<k+i<<" "<<k-i<<" "<<n<<endl;
m-=a;
//cout<<m<<endl;
i++;
}
cout<<i;
}



No comments:

Post a Comment