結果
| 問題 |
No.2931 Shibuya 109
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-10-11 15:00:49 |
| 言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 1,159 ms / 4,000 ms |
| コード長 | 945 bytes |
| コンパイル時間 | 4,179 ms |
| コンパイル使用メモリ | 261,872 KB |
| 実行使用メモリ | 11,008 KB |
| 最終ジャッジ日時 | 2024-10-11 15:01:09 |
| 合計ジャッジ時間 | 19,412 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 11 |
ソースコード
#pragma GCC optimize("O3")
#include<bits/stdc++.h>
#include<atcoder/lazysegtree>
using namespace std;
using namespace atcoder;
#define ll long long
#define rep(i,n) for (long long i=0;i<(ll)n;i++)
#define loop(i,m,n) for(long long i=m;i<=(ll)n;i++)
#define vl vector<long long>
#define vvl vector<vector<long long>>
#define vdbg(a) rep(ii,a.size()){cout<<a[ii]<<" ";}cout<<endl;
#define vvdbg(a) rep(ii,a.size()){rep(jj,a[ii].size()){cout<<a[ii][jj]<<" ";}cout<<endl;}
#define setdbg(a) for(const auto & ii:a){cout<<ii<<" ";}cout<<endl;
#define inf 4000000000000000000LL
#define mod 998244353LL
//メイン
int main(){
ll n,q;
cin>>n>>q;
vl a(n);
set<ll> s;
vl nine(n+1,0);
rep(i,n){
cin>>a[i];
nine[i+1]=nine[i];
if(a[i]==9)nine[i+1]++;
if(a[i]==1)s.insert(i+1);
}
while(q--){
ll l,r;
cin>>l>>r;
ll ans=nine[r]-nine[l-1];
for(const auto & val:s){
if(l<=val&&val<=r)ans+=r-val;
}
cout<<ans<<endl;
}
return 0;
}