AcWing 503. 借教室
生活随笔
收集整理的這篇文章主要介紹了
AcWing 503. 借教室
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
代碼如下:
#include <iostream> using namespace std; const int N = 1000010; int r[N],d[N],s[N],t[N]; typedef long long LL; LL b[N]; int n,m; bool check(int mid) {for (int i = 1;i<=n;i++) b[i] = r[i]-r[i-1];for (int i = 1;i<=mid;i++){b[s[i]]-=d[i];b[t[i]+1]+=d[i];}for (int i = 1;i<=n;i++){b[i]+=b[i-1];if (b[i] < 0) return true;}return false; }int main() {cin>>n>>m;for (int i = 1;i<=n;i++) cin>>r[i];for (int i = 1;i<=m;i++) cin>>d[i]>>s[i]>>t[i];int l = 1,r = m;if (!check(m)){cout<<"0"<<endl;return 0;}while(l < r){int mid = l+r>>1;if (check(mid)){r = mid;}else{l = mid+1; }}cout<<"-1"<<endl;cout<<r<<endl;return 0; }總結
以上是生活随笔為你收集整理的AcWing 503. 借教室的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AcWing 312. 乌龟棋
- 下一篇: 好照片就要拿在手里捧在手里照片