C++,codeforces,2072A,A. New World, New Me, New Array

/*
codeforces,2072A,A. New World, New Me, New Array
n个数的数组,初始时所有元素为0
每次操作可以将一个元素设置为[-p,p]之间的任意数
问最少进行多少次操作可以使数组元素和等于k,
输入
t//测试数据数量,每个测试数据占一行
n k p//分别为n,k和p
...
*/

/*
看需要的和k中有几个p,即abs(k/p),结果要向上取整
*/
#include <iostream>
void solve(){
    int n,k,p;std::cin>>n>>k>>p;
    int temp = std::abs(k/p)+int(k%p!=0);
    if(n<temp){
        std::cout<<-1<<std::endl;
    }else if(n>=temp){
        std::cout<<temp<<std::endl;
    }
}
int main(){
    int t;std::cin>>t;
    while(t--){
        solve();
    }
}
posted @ 2025-02-27 13:10  Kazuma_124  阅读(22)  评论(0)    收藏  举报