#include #include #include #define INF 1000000 using namespace std; int d,n,m,inc,sf,mmin,a[1004],p1,p2; struct myS{int inc,nr;} aux; vector v[1004]; int mat[1004][1004]; int main() { cin>>d>>n>>m; for(int i=1;i<=n;i++) cin>>a[i]; sort(a+1,a+n+1); for(int i=1;i<=m;i++) { cin>>inc>>sf; for(p1=1;p1<=n;p1++) if(a[p1] >= inc) break; for(p2=p1;p2<=n;p2++) if(a[p2] >= sf) break; if(sf < a[p2]) p2--; aux.inc = inc; aux.nr = max(p2-p1+1,0); v[sf].push_back(aux); } inc = 1; for(int i=1;i<=n;i++) for(int j=0;j<=d;j++) mat[i][j] = INF; a[n+1] = d+1; for(int i=1;i<=n;i++) { for(int day = a[i];day