mirror of
https://github.com/wczffl-503/OI-Codes.git
synced 2025-07-08 02:13:51 +08:00
Upload via code
This commit is contained in:
56
FZOI/分身术.cpp
Normal file
56
FZOI/分身术.cpp
Normal file
@ -0,0 +1,56 @@
|
||||
#include <bits/stdc++.h>
|
||||
#define int long long
|
||||
#define endl "\n"
|
||||
#define fp(_a, _b, _c, _d) for (int _a = _b; _a <= _c; _a += _d)
|
||||
#define fm(_a, _b, _c, _d) for (int _a = _b; _a <= _c; _a -= _d)
|
||||
#define fin(_a, _b) for (int ss = 1; ss <= _a; ss++) cin >> _b[ss];
|
||||
#define fout(_a, _b, _c) for (int ss = 1; ss <= _a; ss++) cout << _b[ss] << _c;
|
||||
using namespace std;
|
||||
|
||||
/*
|
||||
@author: BunDragon126
|
||||
@link: https://www.setbun.com/
|
||||
*/
|
||||
|
||||
const int N = 1e7 + 10;
|
||||
const int M = 2e3 + 5;
|
||||
|
||||
int n, k;
|
||||
vector<int> a(N), b(N);
|
||||
deque<int> deque1, deque2;
|
||||
|
||||
signed main()
|
||||
{
|
||||
"toothless. #17";
|
||||
cin >> n >> k;
|
||||
for (int i = 0; i < n; ++ i) cin >> a[i];
|
||||
for (int i = 0; i < n; ++ i) cin >> b[i];
|
||||
int mn = n + 1;
|
||||
for (int l = 0, r = 0; r < n; ++ r)
|
||||
{
|
||||
while (!deque1.empty() && a[deque1.back()] >= a[r])
|
||||
deque1.pop_back();
|
||||
deque1.push_back(r);
|
||||
while (!deque2.empty() && b[deque2.back()] <= b[r])
|
||||
deque2.pop_back();
|
||||
deque2.push_back(r);
|
||||
while (a[deque1.front()] <= k && b[deque2.front()] > a[deque1.front()])
|
||||
{
|
||||
mn = min(mn, r - l + 1);
|
||||
if (deque1.front() == l)
|
||||
deque1.pop_front();
|
||||
if (deque2.front() == l)
|
||||
deque2.pop_front();
|
||||
++ l;
|
||||
}
|
||||
}
|
||||
if (mn == n + 1)
|
||||
{
|
||||
cout << "So Sad!" << endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
cout << mn << endl;
|
||||
}
|
||||
return 0;
|
||||
}
|
Reference in New Issue
Block a user