結果
問題 |
No.1965 Heavier
|
ユーザー |
![]() |
提出日時 | 2023-03-07 09:29:31 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 683 bytes |
コンパイル時間 | 3,728 ms |
コンパイル使用メモリ | 249,888 KB |
最終ジャッジ日時 | 2025-02-11 06:09:43 |
ジャッジサーバーID (参考情報) |
judge3 / judge6 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 4 WA * 22 |
ソースコード
#include <bits/stdc++.h> #include <atcoder/all> using namespace std; using namespace atcoder; using ll=int; using ld=long double; ld pie=3.14159265359; ll inf=1001; ll mod=998244353; int main(){ ll n; cin >> n; vector<ll>a(n),b(n); for (ll i = 0; i < n; i++) { cin >> a[i]; } for (ll i = 0; i < n; i++) { cin >> b[i]; } ll ans=0; for (ll i = 1; i < n; i++) { if (a[i]+min(b[i],b[i-1])<=a[i-1]+max(b[i],b[i-1])) { continue; } ll right=i-1; ll left=-1; while (right-left>1) { ll mid=(right+left)/2; if (a[i]+min(b[i],b[mid])<=a[mid]+max(b[i],b[mid])) { left=mid; }else{ right=mid; } } ans+=i-right; } cout << ans << endl; }