| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1339406 | athena | Bikeparking (EGOI24_bikeparking) | C++20 | 34 ms | 5088 KiB |
#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n;
cin>>n;
vector<int>arr(n),brr(n);
for(int i=0;i<n;i++)
cin>>arr[i];
for(int i=0;i<n;i++)
cin>>brr[i];
vector<int>x(arr.begin(),arr.end());
vector<int>y(brr.begin(),brr.end());
vector<pair<int,int>>stk;
int left=0;
int ans=0;
for(int i=0;i<n;i++)//try to put ppl in slots above their pay
{
if(y[i])
{
if(!stk.empty())
{
auto [b,prevleft]=stk.back();
int c=left-prevleft;
if(c==0)
{
ans++;
x[b]=0;
y[i]=0;
stk.pop_back();
}
else
left++;
}
else
left++;
}
if(x[i])
{
stk.push_back({i,left});
}
}
for(int i=0;i<n;i++)
{
if(x[i]==1&&y[i]==1)
{
x[i]=0;
y[i]=0;
}
}
for(int i=0;i<n;i++)
{
if(y[i])
ans--;
}
cout<<ans<<endl;
return 0;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
