牛客练习赛69-划分

划分

https://ac.nowcoder.com/acm/contest/7329/B

每次都是选取最大的那i*j个数字
所以用前缀和维护  累加即可
import java.math.*;
import java.util.*;
public class Main {
    public static int a[];
    public static long sum[];
    public static void main(String args[])
    {
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        a = new int[n+1];
        sum = new long[n+1];
        for(int i=1;i<=n;i++)
        {
            a[i] = input.nextInt();
        }
        long ans=0;
        Arrays.sort(a);
        for(int i=1;i<=n;i++)
        {
            sum[i] = sum[i-1]+a[n-i+1];
        }
        int x = input.nextInt();
        int y = input.nextInt();
        for(int i=1;i<=x;i++)
        {
            for(int k=1;k<=y;k++)
            {
                    ans+=sum[i*k];
            }
            
        }
        System.out.println(ans);
    }
                  }


全部评论

相关推荐

牛马人的牛马人生:500一天吗?香麻了
投递字节跳动等公司6个岗位
点赞 评论 收藏
分享
算法冲刺中:kpi面加一,面完完全没动静,感谢信都没有
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务