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