#include<bits/stdc++.h>
using namespace std;
int l[10005],h[10005],g[10005],x[10005],y[10005],n,m,k,p,ans=1e9,inf=1e9,rt;
int f[10005][1005];
int main()
{
system("color 02");
cin>>n>>m>>k;
for(int i=1;i<=n;i++) cin>>x[i]>>y[i];
for(int i=1;i<=k;i++){
cin>>p;
cin>>l[p]>>h[p];
}
for(int i=1;i<=n;i++){
bool t=false;
for(int j=1;j<=m;j++){
f[i][j]=inf;
if(j>x[i-1]) f[i][j]=min(f[i][j],f[i-1][j-x[i-1]]+1);
if(j>x[i-1]) f[i][j]=min(f[i][j],f[i][j-x[i-1]]+1);
}
for(int j=m-x[i-1];j<=m;j++){
f[i][m]=min(f[i][m],f[i-1][j]+1);
f[i][m]=min(f[i][m],f[i][j]+1);
}
for(int j=l[i]+1;j<=h[i]-1;j++)
if(j+y[i-1]<=m) f[i][j]=min(f[i][j],f[i-1][j+y[i-1]]);
for(int j=1;j<=l[i];j++) f[i][j]=inf;
for(int j=h[i];j<=m;j++) f[i][j]=inf;
for(int j=1;j<=m;j++) if(f[i][j]<inf){t=true;break;}
if(!t){
cout<<0<<endl<<rt;
return 0;
}
if(g[i]) rt++;
}
for(int i=1;i<=m;i++) ans=min(f[n][i],ans);
cout<<1<<endl<<ans;
return 0;
}
麻烦各位大佬看一下15行应该加什么(空的那两行)