题解:P16353 「Diligent-OI R3 A」说好不哭

· · 题解

题目要求是否存在一个长度为 n 的整数序列满足最大非空子段和为 x,最小非空子段和为 y,并给出了序列、子段的定义。

分几种情况讨论:

代码如下: :::success[AC Code]

#include <cstdio>
int T;
long long n,x,y;
int main()
{
    scanf("%lld",&T);
    while (T--){
        scanf("%lld%lld%lld",&n,&x,&y);
        if (n==1){
            if (x==y) puts("YES");
            else puts("NO");
            continue;
        }
        if (x>0&&y<0) puts("YES");
        else if (x>=0&&y>=0){
            if (x>=n*y) puts("YES");
            else puts("NO");
        } else{
            if (y<=n*x) puts("YES");
            else puts("NO");
        }
    }
    return 0;
}

:::