1. 程式人生 > >牛客寒假算法基礎集訓營2 J 處女座的期末復習

牛客寒假算法基礎集訓營2 J 處女座的期末復習

tle 復習 需要 pan 輸出 using -m lag urn

鏈接:https://ac.nowcoder.com/acm/contest/327/J
時間限制:C/C++ 1秒,其他語言2秒

空間限制:C/C++ 262144K,其他語言524288K
64bit IO Format: %lld

題目描述

快要期末考試了,處女座現在有n門課程需要考試,每一門課程需要花ai小時進行復習,考試的起始時間為bi,處女座為了考試可以不吃飯不睡覺,處女座想知道他能否復習完所有的科目(即在每一門考試之前復習完該科目)。每一門課的考試時間都為兩小時。

輸入描述:

第一行一個整數n

第二行n個整數a1,a2,…,an

,表示每門課需要復習的時間

第三行n個整數b1,b2,…,bn,表示每門課考試的時間

1<=n<=105

0<=ai<=109 0<=bi<=109

輸出描述:

如果處女座能復習完,輸出”YES”,否則輸出”NO”

輸入

3
0 1 1
2 6 4

輸出

YES
貪心,每次復習還沒有復習但是最先考試的科目
推薦用結構體。。。貌似有大佬用兩個數組爆炸了
蒟蒻值能用結構體
#include<bits/stdc++.h>
using namespace
std; const int maxn=1e5+10; struct tim { long long cost; long long beg; }a[maxn]; bool cmp(struct tim a,struct tim b) { return a.beg<b.beg; } int main() { int n,flag=1; cin>>n; for(int i=1;i<=n;i++) cin>>a[i].cost; for(int i=1;i<=n;i++) cin
>>a[i].beg; sort(a+1,a+1+n,cmp); int i=1; int j=1; long long t=0; for(int i=1;i<=n;i++) { t+=a[i].cost; if(t>a[i].beg) { flag=0; break; } t+=2; } if(flag) cout<<"YES"<<endl; else cout<<"NO"<<endl; return 0; }



牛客寒假算法基礎集訓營2 J 處女座的期末復習