#include<bits/stdc++.h> int n,m,a[30004],ans; structtree{ int s,e,n; } t[10001];
boolcmp(tree t1,tree t2) { if (t1.e<t2.e) return1; if (t1.e==t2.e) return t1.s>t2.s; return0; }
intmain() { // ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); CI n>>m; F(i,1,m) { CI t[i].s>>t[i].e>>t[i].n; } sort(t+1,t+m+1,cmp); F(i,1,m) { for (int j=t[i].s;j<=t[i].e&&t[i].n;j++) if (a[j]) t[i].n--;
for (int j=t[i].e;j>=t[i].s&&t[i].n;j--) if (!a[j]) { t[i].n--; ans++; a[j]=1; } } CO ans L; return0; }
#include<bits/stdc++.h> int t,n,l,w,ans; double z; structp{ int x,R; double l,r; }a[20000];
boolcmp(p a1,p a2) { return a1.l<a2.l; }
intmain() { ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); CI t; while (t--) { CI n>>l>>w; F(i,1,n) { CI a[i].x>>a[i].R; if (a[i].R<=w/2) { i--; n--; continue; } a[i].l=max(0.0,a[i].x*1.0-sqrt(a[i].R*a[i].R*1.0-w*w/4.0)); a[i].r=min(l*1.0,a[i].x*1.0+sqrt(a[i].R*a[i].R*1.0-w*w/4.0)); } sort(a+1,a+n+1,cmp); int i=0; ans=0; z=0; double m; while (i<n) { i++; if (z>=l) break; m=a[i].r; while (i<n&&a[i+1].l<=z) { i++; m=max(m,a[i].r); } if (a[i].l<=z) { ans++; z=m; } else { ans=-1; break; } } CO ans L; } return0; }
#include<bits/stdc++.h> int w,n,a[30001]; intmain() { cin>>w>>n; for (int i=0;i<n;i++) cin>>a[i]; sort(a,a+n); int x=w-a[0],s=0,i,l,r; for (i=n-1;i>=0;i++) if (a[i]>w) s++; elsebreak;
l=0; r=i; while (l<=r) { if (a[l]+a[r]<=w) { l++; r--; } else r--; s++; } cout<<s<<endl; return0; }
#include<bits/stdc++.h> int n,m,ans=1,t,x; intmain() { // ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); CI n>>m; F(i,1,n) { CI x; if (x+t>m) { ans++; t=x; } else t+=x; } CO ans L; return0; }
#include<bits/stdc++.h> int n,ans,t[700005],e[700005]; structs{ int t,w; } a[1000006];
boolcmp(s a,s b) { return a.w>b.w; }
intmain() { ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); CI n; F(i,1,n) CI a[i].t>>a[i].w; sort(a+1,a+n+1,cmp); F(i,1,n) { if (e[a[i].t]) continue; int p=a[i].t; while (t[p]&&p>0&&e[p-1]!=1) p--; if (p>0&&!(t[p]&&e[p-1])) { t[p]=1; ans+=a[i].w; } else e[a[i].t]=1; } CO ans L; return0; }