n雖然1e9 但是k<=300個罐子 買m個
a[i]<=1000 列舉錢數3e5
k=3個罐子
7 4 2
n=10
二分的話 錢數增 個數不一定增
n=10 2
n=9 2
n=8 1
n=7 1
n=6 2
#include
using
namespace std;
typedef
long
long ll;
const
int maxn=
1e6+5;
const ll mod=
1e9+7;
const
int inf=
0x3f3f3f3f
;#define io ios::sync_with_stdio(false);cin.tie(0);
#define rep(i,a,n) for(int i=a;i<=n;i++)
#define pb push_back
ll t;
ll n,m,k,a[maxn]
,cnt;
//列舉錢數 k=300個1000 最大3e5 錢數不列舉0 雖然有0
intmain()
ll num=
min(n,k*
1000);
for(
int i=
1;i<=num;i++)if
(q==0)
break;}
if(cnt>=m)
}//到最大錢數都買不了m個罐子 錢數較小 罐子比較貴
cout<<
"poor chicken tail wine!"
}
#include
using
namespace std;
typedef
long
long ll;
const
int maxn=
1e6+5;
const ll mod=
1e9+7;
const
int inf=
0x3f3f3f3f
;#define io ios::sync_with_stdio(false);cin.tie(0);
#define rep(i,a,n) for(int i=a;i<=n;i++)
#define pb push_back
ll t;
ll n,m,k,a[maxn]
,cnt;
//列舉錢數 k=300個1000 最大3e5 錢數不列舉0 雖然有0
bool
check
(ll x)
if(cnt>=m || x==0)
break;}
return cnt>=m;
}int
main()
ll num=
min(n,k*
1000);
for(
int i=
1;i<=num;i++)}
cout<<
"poor chicken tail wine!"
}
雞尾酒買罐子
雞尾酒喜歡罐子,有一天他到了乙個罐子專賣店,他決定買好多好多罐子回家。但是專賣店快關門了,雞尾酒必須盡快選購,他決定按順序把罐子瀏覽一遍,如果他的錢花完了 錢數 0 或者已經走過了最後乙個罐子,就會立即離開商店。由於雞尾酒不會掩飾自己對罐子的喜愛,所以只要他現有的錢大於等於當前看到的罐子的 他就會購...
賣萌雞尾酒 貪心)
題目鏈結 題目描述 眾所周知,雞尾酒的群名片叫作 賣萌雞尾酒 他認為乙個群裡的 有緣人 是群名片與他相近的人。現在,雞尾酒想找出群裡的 有緣人 首先,他將自己名片拆分成五個字 賣 萌 雞 尾 酒 並分別作為關鍵字進行搜尋,每次搜尋都會找到所有群名片包含這個字的群友。如 搜尋 萌 就能找到所有名片中包...
雞尾酒排序
氣泡排序是從陣列的一側到另一側為一輪,根據條件兩兩交換,例如關於氣泡排序中的一組資料3 2 5 4 6 1 8 9 7,優化的氣泡排序在經過六輪之後得到排好的陣列,而雞尾酒排序是一輪次比較兩回 先從左到右比較,如果左邊比右面大,交換位置 然後從右到左比較,左邊比右邊大,交換位置。就用冒泡中的那組數從...