问题描述
- 给出每个人的开始时间和持续时间,要求不满意度。
- 不满意度的产生就是这个人的结束时间比后面多少个人的开始时间晚。
思路分析
- 我们直接找规律,第i个人结束时间为 t + x × ( i − 1 ) t + x \times (i - 1) t+x×(i−1)
- 见下图
代码如下
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
int k;
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> k;
ll n, x, t;
while (k--)
{
cin >> n >> x >> t;
ll z = t / x;
if (n < z)
cout << (n - 1) * n / 2 << endl;
else
{
ll l = (n - z) * z;
ll r = (z - 1) * z / 2;
cout << l + r
<< endl;
}
}
return 0;
}