蓝桥杯2022年第十三届省赛真题-最优清零方案 --

本题来源于蓝桥杯的一道真题,附上此题链接:
https://www.dotcpp.com/oj/problem2689.html

按题目的意思不是,输入一个n就生成一次自然数列嘛,然后我的想法就是用数学方法用数学方法找规律,
以下是我的代码部分:

package ___2022年省赛Java大学A组;

import java.util.Scanner;

public class 最优清零方案__数学推导 {
    private static int n,k ;
    private static int arr[];
    private static int ans;
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        k = sc.nextInt();
        int count1 = 0;
        if(k==1) {
            for(int i=1;i<=n;i++) {
                count1+=i;
            }
            System.out.println(count1);
            return;
        }
        if(k==2) {
            int first = n-k+1;
            int second = n-1;
            System.out.println(first + second);
        }else {
            int first = n-k+1;
            int second = 0;
            for(int i=1;i

###但是实际通过只有5%

img

##我认为规律如下:
k=1时,n个数直接for叠加得到,每次减一
k=2或更大时,
用n-k+1达到剩余属于少于k个,
然后剩下k-1个,数值为1到k-1。
#这种思路有什么问题嘛?呜呜呜呜,最好能举个反例