注册 登录
编程论坛 C语言论坛

求大神解答平台上的题不会

朱一凡 发布于 2022-10-27 19:01, 898 次点击
题目描述
给定一个长度为 n​​​ 的序列 {an}​​​,请你求出该序列中所有比 x​​​ 大的数量和它们的和。

输入格式
第一行两个整数 n,x​。

第二行有 n 个整数,表示序列 {an}。

输出格式
一行两个整数,按顺序分别是数量、和。

样例数据
样例输入#1
5 4
1 8 3 6 -5
样例输出#2
2 14
数据范围
对于 100
3 回复
#2
rjsp2022-10-28 13:29
数据范围
对于 100
你贴出来呀。你不贴出来的话,别人怎么判断用什么类型才能存储得下?

因为题目缺失必要的信息,因此此代码仅供参考
程序代码:
#include <stdio.h>

int main( void )
{
    unsigned n;
    int x;
    scanf( "%u%d", &n, &x );

    unsigned count = 0;
    long long sum = 0;
    for( unsigned i=0; i!=n; ++i )
    {
        int val;
        scanf( "%d", &val );
        if( val > x )
        {
            ++count;
            sum += val;
        }
    }

    printf( "%u %lld\n", count, sum );
}
#3
rjsp2022-10-28 18:38
对于 100%​​​​ 的数据,有 1≤n≤10^5​​​​,|ai|,|x|≤10^9​​​。

有效数据需要 47bits,加上符号位,一共48bits。
看来我一开始就用 long long 是瞎猫碰上了死老鼠。
#4
朱一凡2022-10-29 18:36
谢谢大佬
1