其他分享
首页 > 其他分享> > CF1699C The Third Problem

CF1699C The Third Problem

作者:互联网

思路:

找规律。

实现:

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int a[100005];
 4 int main(){
 5     //freopen("in.txt","r",stdin);
 6     int t;cin>>t;
 7     while(t--){
 8         int n;cin>>n;
 9         vector<int>p(n,-1);
10         for(int i=0;i<n;i++){
11             cin>>a[i];
12             p[a[i]]=i;
13         }
14         int res=1;
15         int mod=1e9+7;
16         int l=min(p[0],p[1]);
17         int r=max(p[0],p[1]);
18         int k=1;
19         for(int i=2;i<n;i++){
20             if(p[i]>l and p[i]<r){
21                 res=(long long)res*(r-l-k)%mod;
22             }
23             else{
24                 l=min(l,p[i]);
25                 r=max(r,p[i]);
26             }
27             k++;
28         }
29         cout<<res<<endl;
30     }
31     return 0;
32 }

标签:Third,19,CF1699C,cin,int,il,1e9,Problem,txt
来源: https://www.cnblogs.com/wangyiming/p/16446789.html