Educational Codeforces Round 77 (Rated for Div. 2)

陌路散爱 提交于 2019-12-05 22:55:12

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();
    }
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!