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();
}
}

浙公网安备 33010602011771号