Линијополис
| vreme | memorija | ulaz | izlaz |
|---|---|---|---|
| 3,965 s | 64 Mb | standardni izlaz | standardni ulaz |
Велелепни Линијополис су урбанисти замислили тако да има доказано најбољу организацију: линијску. Град се састоји од једне једине улице, поред које се налазе блокови једнаких величина нумерисани редом (почев од нултог). За превоз становника Линијополиса предвиђен је јавни превоз у виду \(M\) ултрабрзих аутобуса које покрећу битови (возови ће бити уведени тек у фази 3C пројекта Линијополис), који се држе једне сталне трасе од \(N\) станица (у различитим терминима у току дана). Да би прешао растојање између два суседна блока, сваки аутобус потроши тачно један бит свог горива. Нажалост, ови аутобуси на почетку првог дана рада ГСП Линијополис имају ограничен број битова у резервоару: \(i\)-ти аутобус (\(1 \leq i \leq m\)) на почетку дана има на располагању \(A_i\) битова.
По тренутном плану, у Линијополису ће у оквиру сваке од \(N\) станица бити и пумпа битова. Станица са редним бројем \(j\) (\(1 \leq j \leq N\)) се налази у оквиру блока \(X_j\) и садржи пумпу која на располагању има укупно \(B_j\) битова. Траса није нужно конципирана тако да аутобуси увек иду у истом смеру (станице могу да имају „цикцак“ распоред). Аутобуси једино могу да додају битове док се путници укрцавају или искрцавају на тренутној станици, и не могу да мењају трасу или се привремено зауставе на станици која није следећа у низу.
Испоставља се да је тешко, а можда и немогуће искористити свих \(M\) аутобуса у сврху јавног превоза. Зато ће се искористити неки подскуп наведених аутобуса, при чему ће за сваки бити унапред одређено колико битова треба да преузме са које пумпе, да би неки други аутобуси имали прилику да додају битове у своје резервоаре. Битови су недељиви: сваки аутобус може да преузме искључиво целобројан број битова.
Помозите идејним творцима Линијополиса да њихова идеја заживи тако што ћете одредити највећи број аутобуса који у току дана могу да у потпуности заврше свој пут кроз свих \(N\) станица.
Опис улаза
У првом реду стандардног улаза дати су цели бројеви \(M\) и \(N\), који редом представљају број аутобуса и број станица.
У другог реду је дато \(M\) целих бројева \(A_i\), који представљају почетне количине битова којима располаже сваки од аутобуса.
У трећем реду је дато \(N\) целих бројева \(X_j\), који представљају редне бројеве блокова у којима се станице редом налазе.
У четвртом реду је дато \(N\) целих бројева \(B_j\), који представљају капацитете пумпи на станицама.
Опис излаза
У првом и једином реду стандардног излаза треба исписати највећи број аутобуса који могу да пређу пут од прве до \(N\)-те станице.
Пример 1
Улаз
3 4 3 0 2 1 3 7 8 2 5 3 6
Излаз
2
Објашњење
Први и трећи аутобус могу да обиђу све станице у датом редоследу, уколико прате наредни поступак: * Први аутобус почиње са 3 бита и преузима један бит са прве станице, након чега има укупно 4 бита. По доласку до друге станице преостају 2 бита, потом преузима два бита и укупно има на располагању 4 бита. Та 4 бита су довољна да аутобус стигне до треће станице без преосталих битова, након чега преузима један бит са треће станице који је довољан да би стигао до последње четврте станице. * Трећи аутобус почиње са два бита и преузима један бит са прве станице, након чега има укупно 3 бита. Потом стиже до друге станице са преосталим једним битом и узима три бита са ове станице, након чега има четири бита која су довољна за долазак до треће станице. При доласку у трећу станицу нема ниједан преостали бит, потом преузима један бит са ове станице који је довољан да се траса заврши.
Други аутобус може да пређе целу трасу коришћењем, али тада на станицама нема довољно преосталих битова да би иједан други аутобус такође могао да обиђе све станице.
Пример 2
Улаз
5 3 50 50 50 50 150 200 150 175 25 25 200
Излаз
3
Објашњење
Два аутобуса са почетним бројем битова 50 и један аутобус са почетним бројем битова 150 могу да обиђу све станице. При том један од аутобуса са почетним бројем битова 50 додаје свих 25 битова са прве станице, а други додаје свих 25 битова са друге станице.
Приметимо да станице иду „цикцак“: \(200\), \(150\), \(175\).
Ограничења
- \(1 \leq M, N \leq 10^6\).
- \(0 \leq A_i \leq 10^9\) за све \(i=1, \dots, M\).
- \(0 \leq X_i, B_i \leq 10^9\) за све \(i=1, \dots, N\).
Тест примери су подељени у четири дисјунктне групе: - У тест примерима вредним 20 поена: \(M \leq 10\), \(N \leq 100\). - У тест примерима вредним 20 поена: \(M,N \leq 10^4\). - У тест примерима вредним 30 поена: \(M,N \leq 10^5\). - У тест примерима вредним 30 поена: Без додатних ограничења.
Morate biti ulogovani kako biste poslali zadatak na evaluaciju.