水题,直接贴代码。
//poj 2336
//sep9
#include <iostream>
using namespace std;
const int maxN=1600;
int a[maxN];
int main()
{
int cases;
scanf("%d",&cases);
while(cases--){
int n,t,m,ans1,ans2;
scanf("%d%d%d",&n,&t,&m);
for(int i=1;i<=m;++i)
scanf("%d",&a[i]);
a[0]=0;
if(m%n==0){
ans1=0;
ans2=m/n;
}
else{
ans1=a[m%n]+2*t;
ans2=m/n+1;
}
for(int i=m%n+n;i<=m;i+=n)
ans1=max(ans1+2*t,a[i]+2*t);
printf("%d %d\n",ans1-t,ans2);
}
return 0;
}