蒟蒻测试点好惨...我0分
#include<iostream>
#include<cstring>
using namespace std;
int a[200010],n,w;
int last[200010];
int t,c = 0;
struct vac
{
int use;
int outt;
};
int main()
{
cin >> t;
for(int i = 1;i <= t;i++)
{
vac nvac,n2vac;
memset(a,0,sizeof(a));
memset(last,0,sizeof(last));
cin >> n >> nvac.use >> nvac.outt >> w;
n2vac = nvac;
for(int i = 1;i <= n;i++)
{
cin >> a[i];
last[i] = a[i] + w;
}
for(int i = 1;i <= n;i++)
{
if(nvac.outt <= 0 || nvac.use == 0)
nvac = n2vac,c++;
nvac.outt -= (last[i + 1] - last[i]),nvac.use--;
}
cout << c << '\n';
c = 0;
}
return 0;
}