A - Heating
题意:一个房间,最多装c个加热器,若某个加热器长度为k,则花费为k*k,覆盖这n个长度求最小花费。
题解:首先每个格子只装最多一个,先取min。然后肯定是最平均最好,小平均值是n/d取下整,大平均值是小平均值+1,大平均值的个数是n%d,小平均值的个数即剩下的。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
void test_case() {
ll r, b, k;
scanf("%lld%lld%lld", &r, &b, &k);
if(r > b)
swap(r, b);
ll g = __gcd(r, b);
r /= g, b /= g;
ll suc = ((b - 1) >= (k - 1) * r + 1);
if(suc) {
puts("REBEL");
return;
} else {
puts("OBEY");
return;
}
}
int main() {
#ifdef KisekiPurin
freopen("KisekiPurin.in", "r", stdin);
#endif // KisekiPurin
int t = 1;
scanf("%d", &t);
for(int ti = 1; ti <= t; ++ti) {
//printf("Case #%d: ", ti);
test_case();
}
}