結果
問題 | No.1505 Zero-Product Ranges |
ユーザー |
|
提出日時 | 2021-05-14 22:08:13 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 37 ms / 2,000 ms |
コード長 | 883 bytes |
コンパイル時間 | 2,635 ms |
コンパイル使用メモリ | 188,336 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-15 01:02:39 |
合計ジャッジ時間 | 5,234 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 49 |
ソースコード
//GIVE ME AC!!!!!!!!!!!!!!!!! #pragma GCC target("avx") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #include<bits/stdc++.h> #define ll long long #define floatset() fixed<<setprecision(15) #define all(n) n.begin(),n.end() #define rall(n) n.rbegin(),n.rend() #define rep(i, s, n) for (ll i = s; i < (ll)(n); i++) using namespace std; const int dx[4] = {1, 0, -1, 0}; const int dy[4] = {0, 1, 0, -1}; const ll inf =1e18; const ll MOD=1000000007; const ll mod=998244353; const double pi=acos(-1); using P=pair<ll,ll>; int main(){ ll n; cin>>n; vector<ll>a; a.push_back(0); a.push_back(n+1); rep(i,0,n){ ll v; cin>>v; if(v==0){ a.push_back(i+1); } } sort(all(a)); ll ans=n*(n+1)/2; rep(i,1,a.size()){ ll m=a[i]-a[i-1]; ans-=m*(m-1)/2; } cout<<ans<<endl; }