0
点赞
收藏
分享

微信扫一扫

codeforces_B_Strange List

芷兮离离 2022-04-02 阅读 54
java

题目链接: https://codeforces.com/contest/1471/problem/B

在这里插入图片描述

思路:
这个题关键点在与理解题目、

代码:

import java.util.Scanner;

public class 奇异清单 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        for (int i = 0; i < n; i++) {
            int m = sc.nextInt();//数据量
            int v = sc.nextInt();//除数
            long res = 0;//结果
            int[] arr = new int[m];
            for (int i1 = 0; i1 < m; i1++) {
                arr[i1] = sc.nextInt();
                res += arr[i1];
            }

            int p = v;//倍率
            boolean flag = true;
            while (flag) {
                for (int i1 = 0; i1 < m; i1++) {
                    if (arr[i1] % v == 0) {
                        int a = arr[i1] / v;
                        res += ((long) a * p);
                        arr[i1] = a;
                    } else {
                        flag = false;
                        break;
                    }
                }
                p *= v;
            }
            System.out.println(res);
        }
    }
}

举报

相关推荐

0 条评论