失踪百景

惯性生存者

导航

Codeforces Round #339 Div.2 A - Link/Cut Tree

第一次正式参加常规赛想想有些小激动的呢

然后第一题就被hack了 心痛 _(:зゝ∠)_

tle点在于越界 因此结束循环条件从乘变为除 done

//等等 这题没过总评 让我静静........

//改天再来改吧.......

#include <cstdio>

int main()
{
    long long l, r, k;
    scanf("%I64d%I64d%I64d", &l, &r, &k);
    if(k > r) puts("-1");
    else{
        long long i = 1;
        for(; r / i >= k; i *= k){
            if(i >= l) printf("%I64d ", i);
        }
        printf("%I64d\n", i);
    }
    return 0;
}

 ----------------------------------------------Updata----------------------------------------------------

k > r 时 如果l == 1 则要输出一个1

另外 如果过程中直接跳过这个循环 是要输出一个-1的

#include <cstdio>
int main()
{
    long long l, r, k;
    scanf("%I64d%I64d%I64d", &l, &r, &k);
    if(k > r){
        if(l > 1) puts("-1");
        else puts("1");
    }
    else{
        long long i = 1;
        for(; r / i >= k; i *= k){
            if(i >= l) printf("%I64d ", i);
        }
        if(i >= l) printf("%I64d\n", i);
        else puts("-1");
    }
    return 0;
}

 

posted on 2016-01-15 03:04  失踪百景  阅读(147)  评论(0编辑  收藏  举报