fork download
  1. #include <bits/stdc++.h>
  2. #define ll long long
  3. #define f first
  4. #define s second
  5. const ll mod = 1000000007;
  6. using namespace std;
  7. int n,k;
  8. pair<int,ll>a[100005];
  9. int g[100005];
  10. struct dataa{
  11. int p,d,c;
  12. } q[10005];
  13. ll f[100005];
  14. void iswn(){
  15. cin >> n >> k;
  16. for(int i = 1;i <= n;i++){
  17. f[1] = 1e9+500;
  18. cin >> a[i].f >> a[i].s;
  19. g[i] = a[i].f;
  20. }
  21. for(int i = 1;i <= k;i++){
  22. cin >> q[i].p >> q[i].d >> q[i].c;
  23. }
  24. f[0] = 0;
  25. for(int i = 1;i <= n;i++){
  26. f[i] = f[i-1]+a[i].s;
  27. for(int j = 1;j <= k;j++){
  28. int cs = lower_bound(g+1,g+i+1,a[i].f-q[j].p+1)-g;
  29. cs = max(cs,i-q[j].d+1);
  30. f[i] = min(f[i],f[cs-1]+q[j].c);
  31. }
  32. }
  33. cout << f[n];
  34. }
  35. int main(){
  36. ios_base::sync_with_stdio(0);
  37. cin.tie(0);cout.tie(0);
  38. if(fopen("deH.INP","r")){
  39. freopen("deH.INP","r",stdin);
  40. freopen("deH.OUT","w",stdout);
  41. }
  42. int ts = 1;//cin >> ts;
  43. while(ts--)iswn();
  44. return 0;
  45. }
  46.  
Success #stdin #stdout 0.01s 5272KB
stdin
Standard input is empty
stdout
Standard output is empty