米哈游p3;

不知道错哪了,要么双循超时20%,要么答案错误20%
import java.util.Arrays;
import java.util.Scanner;

public class Main {
    static final int mod = (int) (1e9) + 7;

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        in.nextLine();
        long a[] = Arrays.stream(in.nextLine().split(" ")).mapToLong(Long::parseLong).toArray();
        long res = 0;
        long right = 0;
        long sum = 0;
        for (int i = 1; i < n; i++) {
            right += (i * a[i])%mod;
            sum += a[i];
        }
        sum%=mod;
        for (int i = 0; i + 1 < n; i++) {
//            if (a[i] == 0) {
//                continue;
//            }
//            for(int j=i+1;j//                res+=(j-i)*a[i]*a[j];
//                res%=mod;
//            }
            res += (a[i]*right) % mod;
            right-=sum;
            sum-=a[i+1];
            res %= mod;

        }
        System.out.println(res);

    }
}
全部评论
我也是双循环超时,也是只过20
点赞 回复 分享
发布于 2023-09-24 22:05 重庆
插眼,我也是同样的错误,不知道为什么,感觉逻辑没啥问题
点赞 回复 分享
发布于 2023-09-24 22:07 北京
我也同样的错误我一直在想是不是有些特殊情况没想到还是什么
点赞 回复 分享
发布于 2023-09-24 22:24 黑龙江
可以单循环把之前的和记下来但是不知道哪里搞错了只有5%
点赞 回复 分享
发布于 2023-09-24 22:28 新疆
反正我每一步都进行取余 就过了
点赞 回复 分享
发布于 2023-09-24 22:30 四川
我也是
点赞 回复 分享
发布于 2023-09-24 22:37 湖北
我还是不知道后缀和有什么问题
点赞 回复 分享
发布于 2023-09-24 22:45 湖北

相关推荐

点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务