結果
問題 | No.2710 How many more? |
ユーザー | kino0402 |
提出日時 | 2024-03-31 15:07:37 |
言語 | C++14 (gcc 12.3.0 + boost 1.83.0) |
結果 |
AC
|
実行時間 | 538 ms / 2,000 ms |
コード長 | 2,575 bytes |
コンパイル時間 | 4,265 ms |
コンパイル使用メモリ | 244,432 KB |
実行使用メモリ | 17,408 KB |
最終ジャッジ日時 | 2024-09-30 20:17:07 |
合計ジャッジ時間 | 11,011 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 2 ms
6,816 KB |
testcase_01 | AC | 2 ms
6,816 KB |
testcase_02 | AC | 410 ms
11,648 KB |
testcase_03 | AC | 263 ms
12,032 KB |
testcase_04 | AC | 247 ms
16,384 KB |
testcase_05 | AC | 145 ms
9,984 KB |
testcase_06 | AC | 197 ms
14,592 KB |
testcase_07 | AC | 126 ms
6,820 KB |
testcase_08 | AC | 111 ms
6,816 KB |
testcase_09 | AC | 367 ms
14,080 KB |
testcase_10 | AC | 189 ms
9,088 KB |
testcase_11 | AC | 290 ms
8,064 KB |
testcase_12 | AC | 474 ms
16,000 KB |
testcase_13 | AC | 537 ms
17,408 KB |
testcase_14 | AC | 538 ms
17,408 KB |
testcase_15 | AC | 524 ms
17,280 KB |
testcase_16 | AC | 533 ms
17,408 KB |
testcase_17 | AC | 521 ms
17,408 KB |
testcase_18 | AC | 2 ms
6,816 KB |
ソースコード
//関数使用時用入力44行目- #include<bits/stdc++.h> #include<atcoder/all> using namespace std; using namespace atcoder; using ll=long long; #pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #define int_max 2147483647 #define int_min -2147483647 #define uint_max 4294967295 #define ll_max 9223372036854775807 #define ll_min -9223372036854775807 #define ull_max 18446744073709551615 #define rep(i,n) for(ll i=0;i<(n);i++) #define reps(i,n) for(ll i=1;i<=(n);i++) #define REP(i,j,n) for(ll i=(j);i<(n);i++) #define all(a) (a).begin(), (a).end() #define veci vector<int> #define veci2 vector<vector<int>> //veci2 A(a,veci(b)) #define vecll vector<ll> #define vecll2 vector<vector<ll>> #define vecst vector<string> #define repc(i,n,A) rep(i,n)cin>>A[i] #define repc2(i,n,A,B) rep(i,n)cin>>A[i]>>B[i] #define repc2vec(i,j,a,b,A) rep(i,a)rep(j,b)cin>>A[i][j] #define pb push_back #define mp make_pair #define Endl endl #define F first #define S second #define yes(b) ((b)?"yes":"no") #define Yes(b) ((b)?"Yes":"No") #define YES(b) ((b)?"YES":"NO") template <typename T> inline T gcd(T a,T b) {return (b==0)?a:gcd(b,a%b);}//最大公約数 template <typename T> inline T lcm(T a, T b) {return (a*b)/gcd(a,b);}//最小公倍数 veci dx={-1,0,1,-1,1,-1,0,1}; veci dy={-1,-1,-1,0,0,1,1,1}; veci DX={-1,1,0,0}; veci DY={0,0,-1,1}; int mod = 998244353; //ここからコード入力(関数使用時用) //関数 /*ll nibutan(ll K){ //二分探索 a=要素数 [m]の前配列名 ll ng=-1; ll ok=a; while(ok-ng>1){ ll m=(ng+ok)/2; if([m]>K)ok=m; else ng=m; } return ok; }*/ //ここからコード入力( ´・ω・` ) int main(){ int A,B,tmp1,tmp2; cin>>A>>B; vector<pair<ll,ll>>C(A); rep(i,A){ cin>>tmp1; C[i].F=tmp1; C[i].S=i; } sort(all(C)); map<ll,ll>D; map<ll,ll>E; rep(i,A){ if(i!=0){ if(tmp1==C[i].F)D[C[i].S]=tmp2; else{ D[C[i].S]=i; tmp1=C[i].F; tmp2=i; } }else{ D[C[i].S]=i; tmp1=C[i].F; tmp2=i; } } reps(i,A){ if(i!=1){ if(tmp1==C[A-i].F)E[C[A-i].S]=tmp2; else{ E[C[A-i].S]=A-i; tmp1=C[A-i].F; tmp2=A-i; } }else{ E[C[A-i].S]=A-i; tmp1=C[A-i].F; tmp2=A-i; } } rep(i,B){ cin>>tmp1>>tmp2; if(D[tmp1-1]<E[tmp2-1])cout<<0<<endl; else cout<<D[tmp1-1]-E[tmp2-1]-1<<endl; } //5 10 10 15 1 2(3) 2(3) 4 E0223 D0113 //rep(i,A)cout<<E[i]<<" "; //D01114 E02334 }