验证别写函数。。。
蒟蒻的自我拯救。。。
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <iostream>
using namespace std;
struct node
{
int dest,start,p;
}ti[100];
int n,m,tmp[100],ans,sum[100],q;
bool judge()
{
for(int i=0;i<m;i++)
{
if(sum[i]>n)
return 0;
}
return 1;
}
void dfs(int d,int val)
{
ans=max(ans,val);
if(d>=q)
return ;
dfs(d+1,val);
for(int i=ti[d].start;i<ti[d].dest;i++)
{
sum[i]+=ti[d].p;
}
if(judge())
dfs(d+1,val+(ti[d].dest-ti[d].start)*ti[d].p);
for(int i=ti[d].start;i<ti[d].dest;i++)
{
sum[i]-=ti[d].p;
}
}
int main()
{
while(scanf("%d%d%d",&n,&m,&q))
{
if(n+m+q==0)
break;
if(n==0||m==0||q==0)
{
printf("0\n");
continue;
}
for(int i=0;i<m;i++)
{
sum[i]=tmp[i]=0;
}
for(int i=0;i<q;i++)
{
scanf("%d%d%d",&ti[i].start,&ti[i].dest,&ti[i].p);
}
ans=0;
dfs(0,0);
printf("%d\n",ans);
}
return 0;
}