0%

B. Bowling Frame

思路讲解

其实这题这题知道结论很简单

1,2,3,4 可以组成1-10(1+2+3+4)以内的任何数x,组成完剩余的就是(10-x)了。同理,可以推广。

所以其实这个w+b就是障眼法,其实只要球的总数够用,就可以满足要求了。

AC代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
ll T,w,b;
const ll N=7e4+7;
ll balls[N];


int main() {
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cin>>T;
ll n=7e4;
for(int i=1;i<=n;++i){
balls[i]=balls[i-1]+i;
}
while (T--) {
cin>>w>>b;
ll idx=lower_bound(&balls[1],&balls[n+1],w+b)-balls;
if(balls[idx]>w+b)
idx-=1;

cout<<idx<<endl;
}
}
// AC https://codeforces.com/contest/2041/submission/293339184

心路历程(WA,TLE,MLE……)

唉,WA了一次,循环n开小了,谁能想到这个109包括比较大的109?6。