?
# | Author | Problem | Lang | Verdict | Time | Memory | Sent | Judged | |
---|---|---|---|---|---|---|---|---|---|
115860807 |
Practice: puranjaymishra |
1468D - 22 | GNU C++11 | Wrong answer on test 2 | 30 ms | 36244 KB | 2021-05-10 15:05:29 | 2021-05-10 15:05:29 |
#include<iostream> #include<vector> #include<string> #include<algorithm> #include<set> #include<map> #include<algorithm> #include<cmath> #include<limits> #define all(x) x.begin(),x.end() #define pb push_back #define mp make_pair using namespace std; using ll = long long; using ld = long double; long long int INF=numeric_limits<int>::max(); vector<ll> prime; set<ll> vec; int f[2000000]; int mod = 1e9 + 7; //FUCTION FOR CALCULATION OF POWER (a^b) int fast_pow(int a, int p) { int res = 1; while (p) { if (p % 2 == 0) { a = a * 1ll * a % mod; p /= 2; } else { res = res * 1ll * a % mod; p--; } } return res; } //CALCUALTION OF FACTORIAL int fact(int n) { int res = 1; for (int i = 1; i <= n; i++) { res = res * 1ll * i % mod; } return res; } // FUNCTION FOR CALCULATING COMBINATION int C(int n, int k) { return fact(n) * 1ll * fast_pow(fact(k), mod - 2) % mod * 1ll * fast_pow(fact(n - k), mod - 2) % mod; } void cal() { int i,j; for(i=2;i<=1414;i++) { for(j=i;j<=1414;j++) { f[j*i]=1; } } for(i=2;i<1414*1414;i++) { if(f[i]==0) prime.pb(i); } } bool is_prime(long long int n) { int i; for(i=0;i<=lower_bound(prime.begin(),prime.end(),sqrt(n))-prime.begin();i++) { if(n%prime[i]==0) return true; } return false; } // BINARY SEARCH int bs_val(vector<int> &a,vector<int> &b,int l,int r) { if(l>=r) { if(b[l]>=a[l+1]) return l; else return l+1; } else { if(b[(l+r)/2]>=a[(l+r)/2+1]) r=(l+r)/2-1; else l=(l+r)/2+1; return bs_val(a,b,l,r); } } // STANDARD FUNCTION FOR GCD int gcd(int a, int b) { if (b == 0) return a; return gcd(b, a % b); } // DEPTH - FIRST - SEARCH void dfs(vector<vector<int>> &a,vector<int> &vis, int &cnt,int i) { vis[i]=1; cnt++; for(int j=0;j<a[i].size();j++) { if(!vis[a[i][j]]) { dfs(a,vis,cnt,a[i][j]); } } } int req_factor(long long int n) { int i,j; long long int ans=1; int id=lower_bound(all(prime),sqrt(n))-prime.begin(); for(i=0;i<=id;i++) { if(n%prime[i]==0) { int temp_cnt=0; while(n%prime[i]==0) { temp_cnt++; n=n/prime[i]; } if(temp_cnt%2!=0) ans=ans*prime[i]; } } return ans; } int main() { cal(); int t; cin>>t; for(int uu=0;uu<t;uu++) { int i,n,m,a,b; cin>>n>>m>>a>>b; vector<long long int> v,c; for(i=0;i<m;i++) { long long int temp; cin>>temp; v.pb(temp); } sort(v.rbegin(),v.rend()); int tem=v.size(); for(i=tem-1;i>=tem-min(min(abs(b-a)-1,m),tem);i--) { c.pb(v[i]); } sort(c.rbegin(),c.rend()); for(i=0;i<c.size();i++) { c[i]+=(i+1); } sort(c.begin(),c.end()); int evade_time=0; if(b>a) { evade_time+=(a-1); evade_time+=((b-a)); } else { evade_time+=(n-a); evade_time+=((a-b)); } if(!binary_search(all(c),evade_time)) { cout<<lower_bound(all(c),evade_time)-c.begin()<<"\n"; } else { cout<<lower_bound(all(c),evade_time)-c.begin()+1<<"\n"; } } return 0; }
?
?
?
?