Codeforces Round #727 (Div. 2)A. Contest Start
设计一个比赛, 一共n个人, 每个人是固定时间间隔后开始比赛, 然后比赛的总长度是k, 求每个人的比赛的时候, 有多少人还没有完成比赛.
这题画画图就明白了, 但是要注意几个corner cases. 比如间隔给的长度小于比赛的长度等.
#include "bits/stdc++.h"
using namespace std;
int main() {
int K;
cin >> K;
while (K--)
{
int64_t N,X,T;
cin >> N >> X >> T;
int64_t B = min(N, T/X);
if (X <= T)
{
if (N < T/X)
{
cout << N*(N - 1) / 2 << endl;
}
else
{
int64_t p1 =(N - T/X - 1) * (T/X);
int64_t p2 = (T/X) * (T/X + 1) / int64_t(2.0);
cout << p1 + p2 << endl;
}
}
else
{
cout << 0 << endl;
}
}
return 0;
}