diff --git a/APlusB.cpp b/APlusB.cpp new file mode 100644 index 0000000..a4bcb4f --- /dev/null +++ b/APlusB.cpp @@ -0,0 +1,14 @@ +#include +int a=2; +int sum_of_two_digits(int first_digit, int second_digit) { + return first_digit + second_digit; +} + +int main() { + int a = 0; + int b = 0; + std::cin >> a; + std::cin >> b; + std::cout << sum_of_two_digits(a, b); + return 0; +} diff --git a/AboutMe.md b/AboutMe.md new file mode 100644 index 0000000..3e6804d --- /dev/null +++ b/AboutMe.md @@ -0,0 +1,2 @@ +I am Varun Sharma. +I am Excel Blaze. diff --git a/ApileOFStones b/ApileOFStones new file mode 100644 index 0000000..374b21a Binary files /dev/null and b/ApileOFStones differ diff --git a/BicoloredRBS b/BicoloredRBS new file mode 100644 index 0000000..0bd2890 Binary files /dev/null and b/BicoloredRBS differ diff --git a/DIV2A.cpp b/DIV2A.cpp new file mode 100644 index 0000000..fc29080 --- /dev/null +++ b/DIV2A.cpp @@ -0,0 +1,75 @@ +#include + +using namespace std; + +int main() +{ + int n; + cin>>n; + + int a[n]; + + int flag=0; + + for(int i=0;i>a[i]; + if(a[i]>=0) + { + a[i]=-a[i]-1; + if(a[i]!=-1) + flag=1; + } + } + + + if(flag==1) + { + if(n%2==0) + { + for(int i=0;i v; + for(int i=0;i + +using namespace std; + +int main() +{ + int n; + cin>>n; + + int a[n]; + + int flag=0; + + for(int i=0;i>a[i]; + if(a[i]>=0) + { + a[i]=-a[i]-1; + if(a[i]!=-1) + flag=1; + } + } + + + if(flag==1) + { + if(n%2==0) + { + for(int i=0;i v; + for(int i=0;i + +using namespace std; + +int main() +{ + long long int n,q; + cin>>n>>q; + + long long int a[n]; + for(int i=0;i>a[i]; + + long long int find1[n]; + long long int max1=a[0]; + + long long int maxi=0; + long long int maxe=a[0]; + + for(int i=0;imaxe) + { + maxe=a[i]; + maxi=i; + } + } +int b[n]; +copy(a,a+n,b); + for(int i=0;ib[i+1]) + { + int temp=b[i]; + b[i]=b[i+1]; + b[i+1]=temp; + } + } + vector v; + for(int i=(maxi+1)%n;i!=maxi;i=(i+1)%n) + { + v.push_back(b[i]); + } + + long long int m; + + + //for(int j=0;j>m; + + if(m<=maxi) + { + cout< + +using namespace std; + +int main() +{ + int t; + cin>>t; + while(t--) + { + int n; + cin>>n; + int a[n]; + int m0=0,m1=0,m2=0; + for(int i=0;i>a[i]; + if(a[i]%3==0) + m0++; + else if(a[i]%3==1) + m1++; + else + m2++; + + + } + + if(m1>m2) + { + m1=m1-m2; + cout< +#include +#include +#include +#define ass 1e18 +#define MOD 1000000007 +#define mp make_pair +#define pb push_back +#define fi first +#define se second +#define boost ios_base::sync_with_stdio(false);cin.tie(NULL); +#define debug(x) cout << #x << ": " << x << endl; +#define debug2(x,y) cout<<#x<<": "<< x<< ", "<< #y<< ": "<< y<< endl; +#define debug3(x,y,z) cout<<#x<<": "<< x<< ", "<< #y<< ": "<< y<<" "<<#z<<" : "< +#include +using namespace __gnu_pbds; +#define ordered_set tree, rb_tree_tag,tree_order_statistics_node_update> +ll arr[200005]; + +int main() +{ + boost + ll t,ans,e1,e2,o1,o2,a,n,m,i; + cin>>t; + while(t--) + { + cin>>n; + e1=0;o1=0;e2=0;o2=0; + for(i=0;i>a; + if(a%2==0) + e1++; + else + o1++; + } + cin>>m; + for(i=0;i>a; + if(a%2==0) + e2++; + else + o2++; + } + ans=e1*e2+o1*o2; + cout< +using namespace std; +#define mod 1000000007 +#define ll long long +#define Author std::ios_base::sync_with_stdio(0); +#define NIKHIL_SETHI cout.tie(0); +#define MNNIT_ALLAHABAD cin.tie(0); +#define umii unordered_map +#define mii map +#define pii pair +#define all(v) v.begin(),v.end() +#define forP(i,j,k) for(i=j; ik; i--) +#define pb(a) push_back(a) +#define lb(v,t) lower_bound(all(v),t)-v.begin() +#define ub(v,t) upper_bound(all(v),t)-v.begin() +#define inf 1e18 + +//mainly used functions +bool prime[10000001]; +ll abst(ll a){if(a<0)return -a; return a;} +ll power(ll a, ll b){ll res=1;while(b){if(b&1)res=res*a;a=a*a;b/=2;}return res;} +ll invmod(ll a){return power(a,mod-2);} +ll lcm(ll a, ll b){return a*b/__gcd(a,b);} +ll ncr(ll n, ll r){ll p=1;ll i;for(i=1; i<=r; i++){p*=(n-i+1);p*=i;}return p;} +void sieve(){ll i;ll j;memset(prime,true,10000000);prime[0]=prime[1]=false;for(i=2; i*i<=10000000; i++){if(prime[i]){for(j=2*i; j<=10000000; j+=i){prime[j]=false;}}}} + + +bool isprime(ll p) +{ + ll i; + for(i=2;i*i<=p;i++) + { + if(p%i==0) + return false; + } + return true; +} + +int main() +{ + ll t; + cin>>t; + while(t--) + { + ll n,k,x; + cin>>n; + ll a[n],i,ans = 0; + for(i=0;i>a[i]; + ans += a[i]; + } + cin>>k>>x; + vector v; + for(i=0;i()); + ll c1 = 0,sum = 0; + for(i=0;i=0) + { + c1++; + sum += v[i]; + } + else + break; + } + ll index = i; + if(kabst(v[index])) + cout<0) + cout< +using namespace std; +#define mod 1000000007 +#define ll long long +#define Author std::ios_base::sync_with_stdio(0); +#define NIKHIL_SETHI cout.tie(0); +#define MNNIT_ALLAHABAD cin.tie(0); +#define umii unordered_map +#define mii map +#define pii pair +#define all(v) v.begin(),v.end() +#define forP(i,j,k) for(i=j; ik; i--) +#define pb(a) push_back(a) +#define lb(v,t) lower_bound(all(v),t)-v.begin() +#define ub(v,t) upper_bound(all(v),t)-v.begin() +#define inf 1e18 + +//mainly used functions +bool prime[10000001]; +ll abst(ll a){if(a<0)return -a; return a;} +ll power(ll a, ll b){ll res=1;while(b){if(b&1)res=res*a;a=a*a;b/=2;}return res;} +ll invmod(ll a){return power(a,mod-2);} +ll lcm(ll a, ll b){return a*b/__gcd(a,b);} +ll ncr(ll n, ll r){ll p=1;ll i;for(i=1; i<=r; i++){p*=(n-i+1);p*=i;}return p;} +void sieve(){ll i;ll j;memset(prime,true,10000000);prime[0]=prime[1]=false;for(i=2; i*i<=10000000; i++){if(prime[i]){for(j=2*i; j<=10000000; j+=i){prime[j]=false;}}}} + +int main() +{ + ll t; + cin>>t; + while(t--) + { + ll a,b,n; + cin>>a>>b>>n; + if(n%3==0) + { + cout< +using namespace std; +#define mod 1000000007 +#define ll long long +#define Author std::ios_base::sync_with_stdio(0); +#define NIKHIL_SETHI cout.tie(0); +#define MNNIT_ALLAHABAD cin.tie(0); +#define umii unordered_map +#define mii map +#define pii pair +#define all(v) v.begin(),v.end() +#define forP(i,j,k) for(i=j; ik; i--) +#define pb(a) push_back(a) +#define lb(v,t) lower_bound(all(v),t)-v.begin() +#define ub(v,t) upper_bound(all(v),t)-v.begin() +#define inf 1e18 + +//mainly used functions +bool prime[10000001]; +ll abst(ll a){if(a<0)return -a; return a;} +ll power(ll a, ll b){ll res=1;while(b){if(b&1)res=res*a;a=a*a;b/=2;}return res;} +ll invmod(ll a){return power(a,mod-2);} +ll lcm(ll a, ll b){return a*b/__gcd(a,b);} +ll ncr(ll n, ll r){ll p=1;ll i;for(i=1; i<=r; i++){p*=(n-i+1);p*=i;}return p;} +void sieve(){ll i;ll j;memset(prime,true,10000000);prime[0]=prime[1]=false;for(i=2; i*i<=10000000; i++){if(prime[i]){for(j=2*i; j<=10000000; j+=i){prime[j]=false;}}}} + +int main() +{ + ll n; + cin>>n; + ll a[n]; + ll i,j; + for(i=0;i>a[i]; + unordered_map m; + ll ans = n-1; + for(i=0;i=i;j--) + { + m[a[j]]++; + if(m[a[j]]==1) + { + su = j; + } + else + break; + } + if(vp) + { + ans = min(ans,su-i); + } + m.clear(); + } + cout< +using namespace std; +#define mod 1000000007 +#define ll long long +#define Author std::ios_base::sync_with_stdio(0); +#define NIKHIL_SETHI cout.tie(0); +#define MNNIT_ALLAHABAD cin.tie(0); +#define umii unordered_map +#define mii map +#define pii pair +#define all(v) v.begin(),v.end() +#define forP(i,j,k) for(i=j; ik; i--) +#define pb(a) push_back(a) +#define lb(v,t) lower_bound(all(v),t)-v.begin() +#define ub(v,t) upper_bound(all(v),t)-v.begin() +#define inf 1e18 + +//mainly used functions +bool prime[10000001]; +ll abst(ll a){if(a<0)return -a; return a;} +ll power(ll a, ll b){ll res=1;while(b){if(b&1)res=res*a;a=a*a;b/=2;}return res;} +ll invmod(ll a){return power(a,mod-2);} +ll lcm(ll a, ll b){return a*b/__gcd(a,b);} +ll ncr(ll n, ll r){ll p=1;ll i;for(i=1; i<=r; i++){p*=(n-i+1);p*=i;}return p;} +void sieve(){ll i;ll j;memset(prime,true,10000000);prime[0]=prime[1]=false;for(i=2; i*i<=10000000; i++){if(prime[i]){for(j=2*i; j<=10000000; j+=i){prime[j]=false;}}}} + +int main() +{ + ll n; + cin>>n; + ll a[4][4] = {{8,9,1,13},{3,12,7,5},{0,2,4,11},{6,10,15,14}}; + ll b[n][n]; + ll i,j; + ll c[n/2][n/2]; + ll d = 0; + for(i=0;i=n/2) + { + b[i][j] = c[i][j-n/2]; + } + else if(i>=n/2&&j=n/2) + { + b[i][j]+=2; + } + if(i>=n/2&&j +using namespace std; +#define mod 1000000007 +#define ll long long +#define Author std::ios_base::sync_with_stdio(0); +#define NIKHIL_SETHI cout.tie(0); +#define MNNIT_ALLAHABAD cin.tie(0); +#define umii unordered_map +#define mii map +#define pii pair +#define all(v) v.begin(),v.end() +#define forP(i,j,k) for(i=j; ik; i--) +#define pb(a) push_back(a) +#define lb(v,t) lower_bound(all(v),t)-v.begin() +#define ub(v,t) upper_bound(all(v),t)-v.begin() +#define inf 1e18 + +//mainly used functions +bool prime[10000001]; +ll abst(ll a){if(a<0)return -a; return a;} +ll power(ll a, ll b){ll res=1;while(b){if(b&1)res=res*a;a=a*a;b/=2;}return res;} +ll invmod(ll a){return power(a,mod-2);} +ll lcm(ll a, ll b){return a*b/__gcd(a,b);} +ll ncr(ll n, ll r){ll p=1;ll i;for(i=1; i<=r; i++){p*=(n-i+1);p*=i;}return p;} +void sieve(){ll i;ll j;memset(prime,true,10000000);prime[0]=prime[1]=false;for(i=2; i*i<=10000000; i++){if(prime[i]){for(j=2*i; j<=10000000; j+=i){prime[j]=false;}}}} + +int main() +{ + ll n; + cin>>n; + //ll x[2*n+2] = {0}; + //ll y[2*n+2] = {0}; + vector x[2*n+1],y[2*n+1]; + ll a,b; + vector > v; + ll i; + for(i=1;i<=2*n+1;i++) + { + cin>>a>>b; + v.push_back({a,b}); + x[a].pb(i); + y[b].pb(i); + } + ll vis[2*n+1] = {0}; + ll j; + ll total = 0; + for(i=1;i<=2*n+1;i++) + { + ll c1 = 0; + ll c2 = 0; + if(x[i].size()>1) + { + for(j=0;j1) + { + for(j=0;j +using namespace std; +#define mod 1000000007 +#define ll long long +#define Author std::ios_base::sync_with_stdio(0); +#define NIKHIL_SETHI cout.tie(0); +#define MNNIT_ALLAHABAD cin.tie(0); +#define umii unordered_map +#define mii map +#define pii pair +#define all(v) v.begin(),v.end() +#define forP(i,j,k) for(i=j; ik; i--) +#define pb(a) push_back(a) +#define lb(v,t) lower_bound(all(v),t)-v.begin() +#define ub(v,t) upper_bound(all(v),t)-v.begin() +#define inf 1e18 + +//mainly used functions +bool prime[10000001]; +ll abst(ll a){if(a<0)return -a; return a;} +ll power(ll a, ll b){ll res=1;while(b){if(b&1)res=res*a;a=a*a;b/=2;}return res;} +ll invmod(ll a){return power(a,mod-2);} +ll lcm(ll a, ll b){return a*b/__gcd(a,b);} +ll ncr(ll n, ll r){ll p=1;ll i;for(i=1; i<=r; i++){p*=(n-i+1);p*=i;}return p;} +void sieve(){ll i;ll j;memset(prime,true,10000000);prime[0]=prime[1]=false;for(i=2; i*i<=10000000; i++){if(prime[i]){for(j=2*i; j<=10000000; j+=i){prime[j]=false;}}}} + +int main() +{ + ll t; + cin>>t; + ll n,m; + cin>>n>>m; + ll a[n][m],ans[n*m+1] = {0}; + ll i,j; + for(i=1;i<=n*m;i++) + { + for(j=0;j +#define rep(k,n) for(int i=k;i +#define rep(k,n) for(int i=k;i>n; + rep(0,n) + cin>>ar[i]; + rep(0,n) + { + if(ar[i]>max) + max=ar[i]; + sum+=ar[i]; + } + if((max*n-sum)%2==1) + { + if(n%2==1) + max++; + else + flag=1; + } + rep(0,n) + { + if((max-ar[i])%2==0) + continue; + else + { + if((ar[i]-ar[i+1])%2==0) + ar[i+1]++; + else + flag=1; + } + } + if(flag==0) + printf("YES"); + else + printf("NO"); +} \ No newline at end of file diff --git a/a3.cpp b/a3.cpp new file mode 100644 index 0000000..2b4ea15 --- /dev/null +++ b/a3.cpp @@ -0,0 +1,140 @@ +#include +#include +#define rep(k,n) for(int i=k;i>n; + c=n; + if(n%2==0) + { + num=2; + while(n%2==0) + { + max++; + n/=2; + } + } + for(int i=3;i<=sqrt(n);i+=2) + { + if(n%i==0) + { + while(n%i==0) + { + n/=i; + ans++; + } + num*=i; + if(ans>max) + max=ans; + } + } + if(n!=1) + { + num*=n; + } + ans=0; + printf("%d",num); + long long x=num,sqr; + sqr=num; + while(sqr>n; + c=n; + for(int i=0;i<=n;i++) + ar[i]=1; + for(int i=2;i<=n;i++) + { + if(ar[i]==1) + { + for(int j=2*i;j<=n;j++) + ar[j]=0; + } + } + + //printf("X%lld ",ar[0]); + for(int i=2;i<=c;i++) + { + ar[i]=0; + if(n%i==0) + { + while(n%i==0) + { + ar[i]++; + n/=i; + } + num*=i; + } + } + n=c; + + ll flag=0,max=-1,sqr=2; + rep(2,n+1) + { + //printf("Z%lld ",ar[i]); + if(max0) + flag=1; + max=ar[i]; + } + if(ar[i]!=0&&max!=ar[i]) + { + //printf("M%lld ",i); + flag=1; + } + + + } + if(max==1||max==0||max==-1) + printf("%lld %lld",n,0LL); + else + { + ans=0; + while(sqr +#include +#define rep(k,n) for(int i=k;i +#include +using namespace std; + + + + +void addlst(vector a[], int u,int v){ + + + +a[u].push_back(v); +a[v].push_back(u); + +} + + +void printt(vector a[], int v){ + + for(int i=0;i*a= new vector [v]; + addlst(a, 0, 1); + addlst(a, 0, 4); + addlst(a, 1, 2); + addlst(a, 1, 3); + addlst(a, 1, 4); + addlst(a, 2, 3); + addlst(a, 3, 4); +printt(a,v); + + return 0; +} \ No newline at end of file diff --git a/adjancencylist.exe b/adjancencylist.exe new file mode 100644 index 0000000..fd4cf62 Binary files /dev/null and b/adjancencylist.exe differ diff --git a/agg.cpp b/agg.cpp new file mode 100644 index 0000000..b59bd7f --- /dev/null +++ b/agg.cpp @@ -0,0 +1,77 @@ +#include +#include +#define rep(i,k,n) for(int i=k;ib?b:a) +using namespace std; +#define mp make_pair +#define piii pair,pair> +#define pii pair +#define fi first +#define se second +ll n,k,mr[200005],one,zero; +char c; +void mark(ll),unmark(ll); +ll ans[200005],ar[200005]; +int main() +{ + scanf("%lld %lld",&n,&k); + rep(i,0,n) + { + scanf(" %c",&c); + ar[i]=(c=='W'); + } + + if(2*k+1>n) + { + ll f=1; + rep(i,0,n) + if(ar[i]==0) + zero++; + rep(i,0,n) + cout<<(zero<=one-zero)?'W':'B'; + } + else + { + ll l=0,r=0; + mark(0); + rep(i,0,k) + { + l--; + r++; + mark(l); + mark(r); + } + rep(i,0,n) + { + //cout<zero?'W':'B'); + unmark(l); + l++; + r++; + mark(r); + } + } + +} +void unmark(ll idx) +{ + idx%=n; + idx=(idx+n)%n; + if(ar[idx]) + one--; + else + zero--; +} +void mark(ll idx) +{ + idx%=n; + idx=(idx+n)%n; + if(ar[idx]) + one++; + else + zero++; +} \ No newline at end of file diff --git a/alk.cpp b/alk.cpp new file mode 100644 index 0000000..0910169 --- /dev/null +++ b/alk.cpp @@ -0,0 +1,125 @@ +#include +#include +#define rep(i,k,n) for(int i=k;ib?b:a) +using namespace std; +#include +#include +#define rep(i,k,n) for(int i=k;i +ll n,m,x; +int mem[1004][1004][6][2]; +char ar[1005][1005]; +ll func(ll,ll,ll,ll); +int main() +{ + cin>>n>>m>>x; + x++; + rep(i,0,n) + { + scanf(" %s",ar[i]); + } + ll cnt=0; + memset(mem,-1,sizeof(mem)); + if(n==1) + { + ll ans=0; + rep(i,0,m) + { + if(ar[0][i]=='#') + { + ans=-1; + break; + } + if(ar[0][i]=='*') + ans++; + } + if(m<=x) + cout<=x) + return -1*INF; + exit=entr+(type==1?1:-1)*exit; + if(mem[row][entr][exit][type]!=-1) + return mem[row][entr][exit][type]; + if(row>=n) + return -1*INF; + if(row==n-1) + { + if(exit!=m-1||(m-1-entr)>=x) + return -1*INF; + ll cnt=0; + rep(i,entr,m) + { + if(ar[row][i]=='*') + cnt++; + if(ar[row][i]=='#') + return -1*INF; + } + return cnt; + } + if(row==0) + { + ll p=0; + rep(i,0,min(x,m)) + { + if(ar[row][i]=='#') + break; + p++; + } + ll temp,cnt=0,ans=-1*INF; + rep(i,0,p) + { + if(ar[row][i]=='*') + cnt++; + temp=cnt; + rep(j,0,p) + { + if(j>i&&ar[row][j]=='*') + cnt++; + //cout<i)+cnt); + } + cnt=temp; + } + return mem[row][entr][exit][type]=ans; + } + ll cnt1=0,cnt2=0,ans=-1*INF; + for(int i=entr;ii&&ar[row][j]=='*') + cnt2++; + ans=max(ans,func(row+1,i,abs(j-i),j>i)+cnt1+cnt2); + // if(cnt1+cnt2>1) + // cout< +#include +#define rep(i,k,n) for(int i=k;i>n; + rep(i,0,n) + cin>>ar[i]; + rep(i,0,n) + rep(j,0,205) + mem[i][j][0]=mem[i][j][1]=-1; + cout<prev&&set==0) + return mem[idx][prev][set]=func(idx+1,ar[idx],0); + if(ar[idx]==prev&&set==0) + return mem[idx][prev][set]=func(idx+1,ar[idx],1); + return mem[idx][prev][set]=func(idx+1,ar[idx],ar[idx]<=prev); +} \ No newline at end of file diff --git a/alo2.cpp b/alo2.cpp new file mode 100644 index 0000000..1062b2f --- /dev/null +++ b/alo2.cpp @@ -0,0 +1,70 @@ +#include +#include +#define rep(i,k,n) for(int i=k;ib?b:a) +using namespace std; + + +ll t,n,ar[200005],br[200005]; +int main() +{ + cin>>t; + while(t--) + { + cin>>n; + rep(i,0,n) + cin>>ar[i]; + sort(ar,ar+n); + br[0]=ar[n-1]; + rep(i,0,n-1) + br[i+1]=ar[i]; + ll flag=0; + rep(i,2,n) + { + if(ar[i]!=(ar[i-1]+GCD(ar[i-1],ar[i-2]))) + { + flag=1; + } + } + ll gflag=0; + rep(i,2,n) + { + if(GCD(br[i-1],br[i-2])+br[i-1]!=br[i]) + gflag=1; + } + if(n==1) + { + cout< +#include +#define rep(i,k,n) for(int i=k;ib?b:a) +#define par 0.5 +using namespace std; +ll func(ll); +ll ar[2000005]; +int main() +{ + rep(i,1,2000005) + { + ar[i]=func(i); + ar[i]+=ar[i-1]; + } + ll t; + //cout<>t; + while(t--) + { + ll l,r; + cin>>l>>r; + if(l>r) + swap(l,r); + cout<=10) + ans++; + } + return ans; +} \ No newline at end of file diff --git a/alt.cpp b/alt.cpp new file mode 100644 index 0000000..fc3d0a1 --- /dev/null +++ b/alt.cpp @@ -0,0 +1,69 @@ +#include +#include +#define rep(i,k,n) for(int i=k;ib?b:a) +using namespace std; +ll flag,city[402],trk[250002][4],n,m,max_,full,endc,con; +void func(ll); +void bin(ll,ll); +ll check(ll,ll,ll); +int main() +{ + cin>>n>>m; + rep(i,1,n+1) + cin>>city[i]; + rep(i,1,m+1) + { + rep(j,0,4) + cin>>trk[i][j]; + func(i); + } + cout<=0) + { + flag=1; + return 1; + } + } + return check(c+1,fuel-(city[c+1]-city[c])*con,r)+check(c+1,full-(city[c+1]-city[c])*con,r-1); +} \ No newline at end of file diff --git a/asd b/asd new file mode 100644 index 0000000..4ba7f2f Binary files /dev/null and b/asd differ diff --git a/asd.cpp b/asd.cpp new file mode 100644 index 0000000..967a082 --- /dev/null +++ b/asd.cpp @@ -0,0 +1,105 @@ +#include + +using namespace std; + + +long long int facto(int n) +{ + long long int ans=1; + for(long long int i=1;i<=n;i++) + { + ans*=i; + } + + return ans; +} +int nCr(int n, int r) +{ + return facto(n) / facto(n - r); +} +int solve(vector &A, int B, int C) { + + string str=to_string(C); + sort(A.begin(),A.end()); + //map mp; + if(B==1) + { + int count1=0; + for(int i=0;istr.length()) + return 0; + + long long int ans=0; + vector removed; + for(int i=0;i>n; + vector v(n); + for(int i=0;i>v[i]; + } + int b; + cin>>b; + int c; + cin>>c; + cout< + +#include +using namespace std; +void areBal(string exp){ + + + +} + + + +int main(){ + +string a; + +} \ No newline at end of file diff --git a/bam.cpp b/bam.cpp new file mode 100644 index 0000000..c8581c8 --- /dev/null +++ b/bam.cpp @@ -0,0 +1,72 @@ +#include +#include +#define rep(i,k,n) for(int i=k;ib?b:a) +using namespace std; +void func(); +void tot(ll); +ll ar[50005][2],mem[50005],n,b,size_,lim; +int main() +{ + lim=log(1e19); + cin>>n>>b; + func(); + rep(i,0,size_) + tot(i); + ll min_=(ll)INF; + rep(i,0,size_) + { + min_=min(min_,mem[i]/ar[i][1]); + } + cout<1) + { + ar[size_][0]=b; + ar[size_++][1]=1; + } +} +void tot(ll idx) +{ + ll i=1,mul=ar[idx][0]; + while((log(mul)*i)<=lim&&((n>=ar[idx][0]))) + { + mem[idx]+=n/(ar[idx][0]); + ar[idx][0]*=mul; + i++; + + } +} \ No newline at end of file diff --git a/bes.cpp b/bes.cpp new file mode 100644 index 0000000..f641adb --- /dev/null +++ b/bes.cpp @@ -0,0 +1,52 @@ +#include +#include +#define rep(i,k,n) for(int i=k;ib?b:a) +using namespace std; +ll func(ll,ll); +void GCD(ll a,ll b); +ll fac[100005],n,m,k,x,y,a,b; +ll inv[100005]; +int main() +{ + cin>>n>>m>>k; + fac[0]=1; + rep(i,1,100005) + fac[i]=(fac[i-1]*i)%MOD; + + inv[0]=1; + rep(i,1,100004) + { + GCD(i,MOD); + inv[i]=x; + } + rep(i,1,100004) + { + inv[i]=(inv[i-1]*inv[i])%MOD; + } + ll ans=0; + rep(i,0,k) + { + cin>>a>>b; + ans+=(((((fac[n-a+b-1]*inv[n-a])%MOD)*inv[b-1])%MOD)*((((fac[a-1+m-b]*inv[a-1])%MOD)*inv[m-b])%MOD))%MOD; + ans%=MOD; + } + printf("%lld",(((((fac[n+m-2]*inv[n-1])%MOD)*inv[m-1])%MOD-ans)%MOD+MOD)%MOD); +} + +void GCD(ll a,ll b) +{ + if(b==0) + { + x=1; + y=0; + return; + } + GCD(b,a%b); + ll temp=x; + x=y; + y=temp-(a/b)*y; +} \ No newline at end of file diff --git a/bfsgrid.cpp b/bfsgrid.cpp new file mode 100644 index 0000000..08f95c1 --- /dev/null +++ b/bfsgrid.cpp @@ -0,0 +1,93 @@ +#include +#include +using namespace std; + +int n; +int m; +vector>dis(n,vector(m)); + +vector>vis(1001,vector(1001)); + + +bool isvalid(int sx,int sy){ + +if(sx<0||sx>=n||sy<0||sx>=m){ + + return false; +} + +if(vis[sx][sy]==1){ + + return false; +} +return true; + +} + +void bfs(int sx,int sy){ +if(sx<0||sx>=n||sy<0||sx>=m){ + + return; +} + +if(vis[sx][sy]==1){ + + return; +} + +queue> q; + + +q.push({sx,sy}); +dis[sx][sy]=0; +vis[sx][sy]=1; + +vectordir={-1,0,1,0}; +vectordiry= {0,1,0,-1}; +while(!q.empty()){ + + + + int cx= q.front().first; + int cy= q.front().second; + +for(int i=0;i<4;i++) + + if(isvalid(sx+dir[i],sy+diry[i])){ + + + +int nx= sx+dir[i]; +int ny= sy+diry[i]; + +dis[nx][ny]= dis[cx][cy]+1; +vis[nx][ny]=1; +q.push({nx,ny}); + + + } + + +} + + + + +} + + + +int main(){ +int x, y; + cin>>n>>m; + cin>>x>>y; + bfs(x,y); + + for(int i=0;i +#include +using namespace std; + +class graph{ +public: + +int V; +list*adj; + graph(int V); + void add_edge(int u,int v); +void bfs(int s); +}; + +graph::graph(int V){ + + this->V= V; + adj= new list[V]; + +} + +void graph:: add_edge(int u,int v){ +adj[u].push_back(v); +} + +void graph:: bfs(int s){ ///bfs algorithm source gfg + + bool *visited= new bool[V]; + + for(int i=0;iq; // declaring queue for storing the vertices + +visited[s]= true; +q.push_back(s); + +while(!q.empty()){ + +s= q.front(); + +cout< +#include +#define rep(i,k,n) for(int i=k;ib?b:a) +#define par 0.5 +using namespace std; +ll n,m,ar[405],s,e,con,tot,max_,ans,str[402][402][2]; +ll check(ll); +void findmax(); +void bin(); +int main() +{ + cin>>n>>m; + rep(i,1,n+1) + cin>>ar[i]; + rep(i,0,m) + { + cin>>s>>e>>con>>tot; + if(str[s][e][0]==0||(totstr[s][e][0])) + { + str[s][e][0]=con; + str[s][e][1]=tot; + } + } + rep(i,1,401) + rep(j,i,401) + { + if(str[i][j][0]!=0) + { + s=i; + e=j; + con=str[i][j][0]; + tot=str[i][j][1]; + bin(); + //cout<<"HERE"; + } + } + cout<mid) + { + prev=i-1; + cnt++; + } + } + if(cnt>tot) + return 0; + return 1; +} +void findmax() +{ + ll prev=s; + max_=0; + for(int i=s+1;i<=e;i++) + { + if(ar[i]-ar[prev]>max_) + max_=ar[i]-ar[prev]; + prev=i; + } +} +void bin() +{ + findmax(); + ll low=max_,high=ar[e]-ar[s],mid; + //if(e-s<=tot) + while(low<=high) + { + mid=(low+high)/2; + if(check(mid)) + { + high=mid-1; + max_=mid; + } + else + low=mid+1; + } + //cout<<"HERE "<ans) + ans=max_*con; +} \ No newline at end of file diff --git a/bst.cpp b/bst.cpp new file mode 100644 index 0000000..3b42368 --- /dev/null +++ b/bst.cpp @@ -0,0 +1,145 @@ +#include +#include +using namespace std; + struct node{ + int data; + node *left; + node *right; + }; + +node *root = NULL; + +node *getnode(int data){ +node *temp= new node(); +temp->data= data; +temp->left=NULL; +temp->right= NULL; +return temp; + +} + class BST{ + public: + node* insertbst(node *root, int data); + bool searchbst(node *root,int data); + void preorder(node *root); + void inorder(node *root); + void postorder(node *root); + int findheight(node *root); + }; + +//function to insert +node* BST:: insertbst(node *root,int data){ + +//insert at root node +if (root == NULL){ +root= getnode(data); +return root; +} +//left node insertion +else if(data <= root->data){ + root->left= insertbst(root->left,data); + +} + +//right node insertion +else{ + root->right= insertbst(root->right,data); +} +return root; +} + //searching in tree + + bool BST:: searchbst(node *root,int data){ + if (root== NULL){ + return false; + } + else if(root->data ==data){ + return true; + } + else if(data<= root->data){ + return searchbst(root->left,data); + } + else{ + return searchbst(root->right,data); + } + } +//print left +void BST ::preorder(node *root){ +if(root == NULL) +{ + return; +} +else{ + cout<data<<" "; + preorder(root->left); +preorder(root->right); +} +cout<left); + cout<data<<" "; + inorder(root->right); + } +cout<right); + postorder(root->left); + cout<data<<" "; +} + +} +/* +int BST :: findheight(node *root){ +if(root == NULL) + return -1; + + int f= max(findheight(root->left),findheight(root->right))+1; +cout<<&f; +}*/ + +//main function + + int main(){ + BST b; + root= b.insertbst(root,15); + root= b.insertbst(root,10); + root= b.insertbst(root,20); + root= b.insertbst(root,25); + root= b.insertbst(root,8); + root= b.insertbst(root,12); + cout<<"Preorder Traversal"<>n; + if(b.searchbst(root,n)== true){ + cout<<"found\n"; + + } + else cout<<"Not found\n"; + + return 0; + } diff --git a/bst.exe b/bst.exe new file mode 100644 index 0000000..dd468de Binary files /dev/null and b/bst.exe differ diff --git a/bst.o b/bst.o new file mode 100644 index 0000000..020017d Binary files /dev/null and b/bst.o differ diff --git a/bst_oprcodechf.cpp b/bst_oprcodechf.cpp new file mode 100644 index 0000000..c0af9e6 --- /dev/null +++ b/bst_oprcodechf.cpp @@ -0,0 +1,84 @@ +#include +#include +using namespace std; + +struct treeNode{ + + + int data; + + int p; + treeNode *left; + treeNode *right; + +}; + +treeNode *getnode(int data){ + + + treeNode *temp= new treeNode(); + + temp->data= data; + temp->left= nullptr; + temp->right= nullptr; + return temp; +} + + + +class binarylst{ + +public: + +treeNode* insert(int data,treeNode* root,int p){ + + if(root== NULL){ +cout<data){ + + root= insert(data,root->left,2*p); + } + else{ + + root= insert(data,root->right,2*p+1); + } + return root; +} + + +void preorder(treeNode* root){ + if(root== NULL){ + return; + } + else{ + + cout<data<<" "; + preorder(root->left); + preorder(root->right); + } +} + +}; + + +int main(){ +treeNode* root= NULL; + binarylst b; + + +vector a={1,2,0,5}; + +for(int i=0;i +#include +#define rep(i,k,n) for(int i=k;i>t; + while(t--) + { + cin>>n>>k; + rep(i,0,n) + cin>>p[i]; + rep(i,0,n) + cin>>s[i]; + rep(i,0,n) + cin>>st[i]; + rep(i,0,n) + cin>>ct[i]; + ll min=0x3f3f3f3f,ans=-1; + rep(i,0,10) + rep(j,0,10) + rep(k,0,1005) + mem[i][j][k]=-2; + rep(i,0,n) + { + if(p[i]==0) + { + ans=func(i,ct[i]-1,s[i]); + if(ans=k) + return 0; + + if(ct!=0) + min=func(idx,left-1,pos+s[idx]); + + rep(i,0,n) + { + if(i!=idx&&st[i]<=time_&&pos==p[i]+(time_-st[i])*s[i]) + { + ans=1+func(i,ct[i]-1,pos+s[i]); + if(ans +#define rep(i,k,n) for(int i=k;i>n; + scanf("%s",str); + ll low=0,high=0,mid,ans=0; + rep(i,0,n) + if(str[i]=='G') + high++; + //high--; + while(low<=high) + { + mid=(low+high)/2; + if(func(mid)==1) + { + low=mid+1; + ans=mid; + } + else + high=mid-1; + } + printf("%lld",ans); +} +ll func(ll mid) +{ + ll cnt=0; + rep(i,0,mid) + if(str[i]=='G') + cnt++; + if(cnt>=mid-1) + return 1; + + rep(i,mid,n) + { + if(str[i-mid]=='G') + cnt--; + if(str[i]=='G') + cnt++; + if(cnt>=mid-1) + return 1; + } + return 0; +} \ No newline at end of file diff --git a/c7.cpp b/c7.cpp new file mode 100644 index 0000000..2fe0834 --- /dev/null +++ b/c7.cpp @@ -0,0 +1,26 @@ +#include +#include +#define rep(i,k,n) for(int i=k;i>n>>m>>k; + memset(mem,-1,sizeof(mem)); + printf("%lld",m*func(1,k)%MOD); +} +ll func(ll idx,ll k) +{ + if(idx==n&&k==0) + return 1; + if(idx==n) + return 0; + if(k<0) + return 0; + if(mem[idx][k]!=-1) + return mem[idx][k]; + return mem[idx][k]=((func(idx+1,k-1)*(m-1))%MOD+func(idx+1,k)%MOD)%MOD; +} \ No newline at end of file diff --git a/chn.cpp b/chn.cpp new file mode 100644 index 0000000..a2cca21 --- /dev/null +++ b/chn.cpp @@ -0,0 +1,48 @@ +#include +#include +#define rep(i,k,n) for(int i=k;ib?b:a) +using namespace std; +ll hun,fif; +int main() +{ + ll n,flag=0,x; + cin>>n; + while(n--) + { + cin>>x; + if(x==50) + fif++; + if(x==100) + { + if(fif<=0) + flag=1; + fif--; + hun++; + } + if(x==200) + { + + if(hun>0) + { + if(fif<=0) + flag=1; + hun--; + fif--; + } + else + { + if(fif<3) + flag=1; + fif-=3; + } + } + } + if(flag==0) + cout<<"YES"; + else + cout<<"NO"; +} \ No newline at end of file diff --git a/cho.cpp b/cho.cpp new file mode 100644 index 0000000..24163eb --- /dev/null +++ b/cho.cpp @@ -0,0 +1,78 @@ +#include +#include +#define rep(i,k,n) for(int i=k;i>t; + ll ans=0; + while(t--) + { + ans=0; + rep(i,0,52) + l[i]=0; + cin>>n>>m; + rep(i,0,n) + { + char c; + scanf(" %c",&c); + ar[i]=c; + if(ar[i]<90) + ar[i]-=65; + else + ar[i]=ar[i]-97+26; + } + ll mid,low=0,high=n; + while(low<=high) + { + mid=(low+high)/2; + if(func(mid)==1) + { + low=mid+1; + ans=mid; + } + else + high=mid-1; + } + //rep(i,0,6) + //cout<max) + max=l[i]; + + if((mid-max)<=m) + return 1; + + rep(i,mid,n) + { + l[ar[i-mid]]--; + l[ar[i]]++; + + rep(i,0,52) + if(l[i]>max) + max=l[i]; + + if((mid-max)<=m) + return 1; + } + return 0; +} \ No newline at end of file diff --git a/cod.cpp b/cod.cpp new file mode 100644 index 0000000..73458da --- /dev/null +++ b/cod.cpp @@ -0,0 +1,224 @@ +#include +using namespace std; +#define mod 1000000007 +#define ll long long +#define Author std::ios_base::sync_with_stdio(0); +#define NIKHIL_SETHI cout.tie(0); +#define MNNIT_ALLAHABAD cin.tie(0); +#define umii unordered_map +#define mii map +#define pii pair +#define all(v) v.begin(),v.end() +#define forP(i,j,k) for(i=j; ik; i--) +#define pb(a) push_back(a) +#define lb(v,t) lower_bound(all(v),t)-v.begin() +#define ub(v,t) upper_bound(all(v),t)-v.begin() +#define inf 1e18 + +//mainly used functions +bool prime[10000001]; +ll abst(ll a){if(a<0)return -a; return a;} +ll power(ll a, ll b){ll res=1;while(b){if(b&1)res=res*a;a=a*a;b/=2;}return res;} +ll invmod(ll a){return power(a,mod-2);} +ll lcm(ll a, ll b){return a*b/__gcd(a,b);} +ll ncr(ll n, ll r){ll p=1;ll i;for(i=1; i<=r; i++){p*=(n-i+1);p*=i;}return p;} +void sieve(){ll i;ll j;memset(prime,true,10000000);prime[0]=prime[1]=false;for(i=2; i*i<=10000000; i++){if(prime[i]){for(j=2*i; j<=10000000; j+=i){prime[j]=false;}}}} + +int main() +{ + ll t; + cin>>t; + while(t--) + { + ll n,k; + cin>>n>>k; + ll a[n]; + ll i; + for(i=0;i>a[i]; + } + if(n==1) + { + if(a[0]>k) + cout<<"NO\n"; + else + { + cout<<"YES\n"; + if(a[0]==-1) + cout<<1<<"\n"; + else + cout<k) + { + a[i] = a[i-1]-1; + } + else + { + a[i] = a[i-1]+2; + } + } + else + { + a[i] = a[i-1]+1; + } + } + } + } + } + } + } + ll flag = 0; + for(i=0;ik||a[i]<1) + { + flag = 1; + break; + } + else + { + if(i==0) + { + if(a[i]==a[i+1]) + { + flag = 1; + break; + } + } + else if(i==n-1) + { + if(a[i]==a[i-1]) + { + flag = 1; + break; + } + } + else + { + if(a[i]==a[i-1]||a[i]==a[i+1]) + { + flag = 1; + break; + } + } + } + } + if(flag==1) + { + cout<<"NO\n"; + } + else + { + cout<<"YES\n"; + for(i=0;i + +using namespace std; + +long long int primeFactors(long long int n) +{ + // Print the number of 2s that divide n + map mp; + while (n % 2 == 0) + { + //cout << 2 << " "; + mp[2]++; + n = n/2; + } + + // n must be odd at this point. So we can skip + // one element (Note i = i +2) + for (int i = 3; i <= sqrt(n); i = i + 2) + { + // While i divides n, print i and divide n + while (n % i == 0) + { + //cout << i << " "; + mp[i]++; + n = n/i; + } + } + + // This condition is to handle the case when n + // is a prime number greater than 2 + if (n > 2) + mp[n]++; + + long long int factor=1; + map::iterator it; + for(it=mp.begin();it!=mp.end();it++) + { + factor*=((*it).second+1); + } + return factor; +} + +int main() +{ + int t; + cin>>t; + while(t--) + { + long long int n; + cin>>n; + long long int a[n]; + map mp; + set st; + for(int i=0;i>a[i]; + st.insert(a[i]); + + } + sort(a,a+n); + int i=0; + int j=n-1; + long long int flag=0; + long long int temp=a[i]*a[j]; + while(i +using namespace std; +#define mod 1000000007 +#define ll long long +#define Author std::ios_base::sync_with_stdio(0); +#define NIKHIL_SETHI cout.tie(0); +#define MNNIT_ALLAHABAD cin.tie(0); +#define umii unordered_map +#define mii map +#define pii pair +#define all(v) v.begin(),v.end() +#define forP(i,j,k) for(i=j; ik; i--) +#define pb(a) push_back(a) +#define lb(v,t) lower_bound(all(v),t)-v.begin() +#define ub(v,t) upper_bound(all(v),t)-v.begin() +#define inf 1e18 + +//mainly used functions +bool prime[10000001]; +ll abst(ll a){if(a<0)return -a; return a;} +ll power(ll a, ll b){ll res=1;while(b){if(b&1)res=res*a;a=a*a;b/=2;}return res;} +ll invmod(ll a){return power(a,mod-2);} +ll lcm(ll a, ll b){return a*b/__gcd(a,b);} +ll ncr(ll n, ll r){ll p=1;ll i;for(i=1; i<=r; i++){p*=(n-i+1);p*=i;}return p;} +void sieve(){ll i;ll j;memset(prime,true,10000000);prime[0]=prime[1]=false;for(i=2; i*i<=10000000; i++){if(prime[i]){for(j=2*i; j<=10000000; j+=i){prime[j]=false;}}}} + +int main() +{ + ll t; + cin>>t; + ll n,m; + cin>>n>>m; + ll a[n][m],ans[n*m+1] = {0}; + ll i,j; + for(i=1;i<=n*m;i++) + { + for(j=0;j +using namespace std; +#define mod 1000000007 +#define ll long long +#define Author std::ios_base::sync_with_stdio(0); +#define NIKHIL_SETHI cout.tie(0); +#define MNNIT_ALLAHABAD cin.tie(0); +#define umii unordered_map +#define mii map +#define pii pair +#define all(v) v.begin(),v.end() +#define forP(i,j,k) for(i=j; ik; i--) +#define pb(a) push_back(a) +#define lb(v,t) lower_bound(all(v),t)-v.begin() +#define ub(v,t) upper_bound(all(v),t)-v.begin() +#define inf 1e18 + +//mainly used functions +bool prime[10000001]; +ll abst(ll a){if(a<0)return -a; return a;} +ll power(ll a, ll b){ll res=1;while(b){if(b&1)res=res*a;a=a*a;b/=2;}return res;} +ll invmod(ll a){return power(a,mod-2);} +ll lcm(ll a, ll b){return a*b/__gcd(a,b);} +ll ncr(ll n, ll r){ll p=1;ll i;for(i=1; i<=r; i++){p*=(n-i+1);p*=i;}return p;} +void sieve(){ll i;ll j;memset(prime,true,10000000);prime[0]=prime[1]=false;for(i=2; i*i<=10000000; i++){if(prime[i]){for(j=2*i; j<=10000000; j+=i){prime[j]=false;}}}} + +int main() +{ + ll n; + cin>>n; + ll a[n],i; + for(i=0;i>a[i]; + sort(a,a+n); + ll prev = -1; + ll mn1 = inf,mn2 = inf; + ll c1 = 0,c2 = 0; + for(i=0;i +using namespace std; +#define mod 1000000007 +#define ll long long +#define Author std::ios_base::sync_with_stdio(0); +#define NIKHIL_SETHI cout.tie(0); +#define MNNIT_ALLAHABAD cin.tie(0); +#define umii unordered_map +#define mii map +#define pii pair +#define all(v) v.begin(),v.end() +#define forP(i,j,k) for(i=j; ik; i--) +#define pb(a) push_back(a) +#define lb(v,t) lower_bound(all(v),t)-v.begin() +#define ub(v,t) upper_bound(all(v),t)-v.begin() +#define inf 1e18 + +//mainly used functions +bool prime[10000001]; +ll abst(ll a){if(a<0)return -a; return a;} +ll power(ll a, ll b){ll res=1;while(b){if(b&1)res=res*a;a=a*a;b/=2;}return res;} +ll invmod(ll a){return power(a,mod-2);} +ll lcm(ll a, ll b){return a*b/__gcd(a,b);} +ll ncr(ll n, ll r){ll p=1;ll i;for(i=1; i<=r; i++){p*=(n-i+1);p*=i;}return p;} +void sieve(){ll i;ll j;memset(prime,true,10000000);prime[0]=prime[1]=false;for(i=2; i*i<=10000000; i++){if(prime[i]){for(j=2*i; j<=10000000; j+=i){prime[j]=false;}}}} + +int main() +{ + ll n; + cin>>n; + ll a[n],i; + for(i=0;i>a[i]; + sort(a,a+n); + ll prev = -1; + ll mn1 = inf,mn2 = inf; + ll c1 = 0,c2 = 0; + for(i=0;i + +using namespace std; + +int parent[51]; +int visited[51]; + +vector > adj[51]; + + + +#define INF 10000000000000009 +#define MAX 100009 +#define pii pair +#define pb push_back +//vector < pii > graph[MAX]; +long long dist[51]; +void Reset() +{ + memset(dist,INF,sizeof(dist)); + long long i; + for(i=0;i,greater< pii > > q; //in the priority queue the greater func is default + dist[start]=0; + q.push(pii(0,start)); //pushing the starting node + long long i,v,w,u,c; + + while(!q.empty()) + { + u=q.top().second; + c=q.top().first; + q.pop(); + for(i=0;idist[u]+w) + { + dist[v]=dist[u]+w; + q.push(pii(dist[v],v)); + } + } + } +} + + + + + +int f_parent(int x) +{ + if(parent[x]==x) + return x; + + parent[x]=f_parent(parent[x]); +} + + + +int main() +{ + int t; + cin>>t; + + while(t--) + { + int n,m; + cin>>n>>m; + + for(int i=1;i<=n;i++) + { + parent[i]=i; + } + + for(int i=0;i<51;i++) + adj[i].clear(); + + + vector > > v; + + int flag=0; + + int x,y,z; + + for(int i=0;i>x>>y>>z; + + v.push_back(make_pair(z,make_pair(x,y))); + } + + sort(v.begin(),v.end()); + + + for(int i=0;iz) + { + adj[x1].push_back(make_pair(y1,z1)); + adj[y1].push_back(make_pair(x1,z1)); + + + } + } + else + { + if(f_parent(x1) +#define mod 1000000007 +using namespace std; + +long long int power(long long int a,long long int n) +{ + long long int ans=1; + + while(n) + { + if(n%2==1) + { + ans=(ans%mod*a%mod)%mod; + } + + n=n/2; + + a=(a%mod*a%mod)%mod; + } + + return ans; +} + +int main() +{ + int t; + cin>>t; + while(t--) + { + long long int n,k; + cin>>n>>k; + + string str; + cin>>str; + + long long int acount=0; + long long int bcount=0; + long long int ans=0; + for(long long int i=0;i=bcount) + { + acount=0; + bcount=0; + } + else if(bcount-acount>k) + { + str[i]='A'; + bcount--; + acount++; + + ans=(ans%mod+power(2,i+1)%mod)%mod; + + } + } + + cout< + +using namespace std; + +int main() +{ + int n,m,k; + cin>>n>>m>>k; + int aa[n+1][n+1]; + memset(aa,sizeof(aa),0); + while(m--) + { + int a,b; + cin>>a>>b; + aa[a][b]=1; + aa[b][a]=1; + + } + int c,d,k,sum=0,flag=0; + for (c = 1; c < n+1; c++) { + for (d = 1; d < n+1; d++) { + for (k = 1; k < n+1; k++) { + sum = sum + aa[c][k]*aa[k][d]; + + + } + + if(sum>=k&&c!=d) + { + flag=1; + break; + } + aa[c][d] = sum; + sum = 0; + } + if(flag==1) + break; + } + + if(flag==1) + cout<<"YES\n"; + else + cout<<"NO\n"; +} diff --git a/lazy_with _dp.cpp b/lazy_with _dp.cpp new file mode 100644 index 0000000..ae0eccd --- /dev/null +++ b/lazy_with _dp.cpp @@ -0,0 +1,57 @@ +#include +using namespace std; +#define mod 1000000007 +#define ll long long +#define Author std::ios_base::sync_with_stdio(0); +#define NIKHIL_SETHI cout.tie(0); +#define MNNIT_ALLAHABAD cin.tie(0); +#define umii unordered_map +#define mii map +#define pii pair +#define all(v) v.begin(),v.end() +#define forP(i,j,k) for(i=j; ik; i--) +#define pb(a) push_back(a) +#define lb(v,t) lower_bound(all(v),t)-v.begin() +#define ub(v,t) upper_bound(all(v),t)-v.begin() +#define inf 1e18 + +//mainly used functions +bool prime[10000001]; +ll abst(ll a){if(a<0)return -a; return a;} +ll power(ll a, ll b){ll res=1;while(b){if(b&1)res=res*a;a=a*a;b/=2;}return res;} +ll invmod(ll a){return power(a,mod-2);} +ll lcm(ll a, ll b){return a*b/__gcd(a,b);} +ll ncr(ll n, ll r){ll p=1;ll i;for(i=1; i<=r; i++){p*=(n-i+1);p*=i;}return p;} +void sieve(){ll i;ll j;memset(prime,true,10000000);prime[0]=prime[1]=false;for(i=2; i*i<=10000000; i++){if(prime[i]){for(j=2*i; j<=10000000; j+=i){prime[j]=false;}}}} + + + + +int main() +{ + ll t; + cin>>t; + ll i,j; + for(i=1;i<=t;i++) + { + string s; + cin>>s; + ll n = s.length(); + ll req = ceil((double)(n-1)/(double)(2)); + ll count1 = 0; + for(j=1;j +#include +#define rep(i,k,n) for(int i=k;ib?b:a) +using namespace std; +int main() +{ + ll t,odd[1005],even[1005],n,x,zero,two[63]; + two[0]=0; + rep(i,1,63) + two[i]=(two[i-1]+1)+two[i-1]; + //cout<>t; + while(t--) + { + zero=1; + cin>>n; + ll even=0,odd=0; + ll make_even=two[62],make_odd=two[62]; + rep(i,0,n) + { + cin>>x; + if(x%2==0) + { + even++; + if(x!=0) + make_odd=1; + } + else + { + odd++; + if(x!=1) + { + rep(i,1,63) + { + if((x-(x/(two[i]+1))*(two[i]+1)+1<(two[i]+1))&&(two[i]make_odd?make_odd:make_even)); + } + } +} \ No newline at end of file diff --git a/nfa.cpp b/nfa.cpp new file mode 100644 index 0000000..366aea8 --- /dev/null +++ b/nfa.cpp @@ -0,0 +1,50 @@ +#include +#include +#define rep(i,k,n) for(int i=k;ib?b:a) +#define fi first +#define se second +using namespace std; +#define mp make_pair +#define piii pair ,pair > +ll sie[1000005][12],ar[1000005]; +void pre(); +int main() +{ + pre(); + ll t,l,r,n; + cin>>t; + while(t--) + { + cin>>l>>r>>n; + cout< +#include +#define rep(i,k,n) for(int i=k;i>t; + while(t--) + { + ll s,sum=0,t,ar[55]; + n=0; + cin>>t>>s; + rep(i,0,t) + { + cin>>ar[i]; + if(ar[i]==-1) + n++; + else + sum+=ar[i]; + } + s-=sum; + ll ans=1; + rep(i,0,s-n+1) + { + ans+=func(1,i,1,r-i); + } + cout< +#include +#define rep(i,k,n) for(int i=k;ib?b:a) +using namespace std; +typedef struct NODE +{ + ll enm,size_,par; +}NODE; +void initialise(); +ll Find(ll); +void Union(ll,ll); +void enemy(ll,ll); +NODE ar[100005]; +ll n,m,x,y; +int main() +{ + cin>>n>>m; + initialise(); + rep(i,0,m) + { + cin>>x>>y; + Union(x,y); + } + cin>>m; + rep(i,0,m) + { + cin>>x>>y; + enemy(x,y); + } + ll max_=0; + rep(i,1,n+1) + { + if(ar[i].par==i&&max_ar[py].size_) + { + ar[py].par=px; + ar[px].size_+=ar[py].size_; + } + if(ar[px].size_<=ar[py].size_) + { + ar[px].par=py; + ar[py].size_+=ar[px].size_; + } +} +void enemy(ll a,ll b) +{ + ll pa=Find(a); + ll pb=Find(b); + if(pa==pb) + { + ar[pa].enm=1; + } +} \ No newline at end of file diff --git a/pat.cpp b/pat.cpp new file mode 100644 index 0000000..0630bf1 --- /dev/null +++ b/pat.cpp @@ -0,0 +1,143 @@ +#include +#include +#define rep(i,k,n) for(int i=k;ib?b:a) +using namespace std; +ll ar[75][75],n,q,t; +void rev_(); +void func1(); +void func2(char,ll,ll); +int main() +{ + func2('C',0,0); + cin>>t; + while(t--) + { + cin>>q>>n; + if(q==2) + { + func1(); + rep(i,0,n) + { + rep(j,0,n) + cout<=0;i--,j++) + { + ar[j][i]=tot; + tot++; + } + if(tot!=n*n+1) + { + j=0; + for(int i=t;i>=0;i--,j++) + { + ar[n-i-1][n-j-1]=tot; + tot++; + } + t++; + } + } +} +void func2(char ch,ll a,ll m) +{ + if(a==(n/2)) + return; + if(ch=='C') + { + ll tot=0; + rep(i,a,n-1-a) + { + ar[a][i]=4*tot+m+1; + tot++; + } + tot=0; + rep(i,a,n-1-a) + { + ar[i][n-1-a]=m+2+4*tot; + tot++; + } + tot=0; + for(int i=n-1-a;i>a;i--) + { + ar[n-1-a][i]=m+3+4*tot; + tot++; + } + tot=0; + for(int i=n-1-a;i>a;i--) + { + ar[i][a]=m+4+4*tot; + tot++; + } + func2('A',a+1,m+(n-1-2*a)*4); + } + if(ch=='A') + { + //cout<<"sfdff "; + rev_(); + ll tot=0; + rep(i,a,n-1-a) + { + ar[i][a]=m+4*tot+1; + tot++; + } + tot=0; + rep(i,a,n-1-a) + { + ar[n-1-a][i]=m+2+4*tot; + tot++; + } + tot=0; + for(int i=n-1-a;i>a;i--) + { + ar[i][n-1-a]=m+3+4*tot; + tot++; + } + tot=0; + for(int i=n-1-a;i>a;i--) + { + ar[a][i]=m+4+4*tot; + tot++; + } + rev_(); + func2('C',a+1,m+(n-1-2*a)*4); + } +} +void rev_() +{ + rep(i,0,n) + { + rep(j,0,n) + { + ll temp=ar[i][j]; + ar[i][j]=ar[j][i]; + ar[j][i]=temp; + } + } +} \ No newline at end of file diff --git a/pic.cpp b/pic.cpp new file mode 100644 index 0000000..411358a --- /dev/null +++ b/pic.cpp @@ -0,0 +1,40 @@ +#include +#include +#define rep(i,k,n) for(int i=k;ib?a:b) +ll mem[202][202][202]; +ll n,k,x,ar[205]; +ll func(ll,ll,ll); +int main() +{ + rep(i,0,200) + rep(j,0,200) + rep(k,0,200) + mem[i][j][k]=-1; + + cin>>n>>k>>x; + rep(i,0,n) + cin>>ar[i]; + printf("%lld",func(0,0,1)>0?func(0,0,1):-1); + + +} +ll func(ll idx,ll used,ll prev) +{ + if(used>x) + return -1*INF; + if(idx==n) + return 0; + + if(mem[idx][used][prev]!=-1) + return mem[idx][used][prev]; + + if(prev==k) + return mem[idx][used][prev]=func(idx+1,used+1,1)+ar[idx]; + + return mem[idx][used][prev]=MAX(func(idx+1,used+1,1)+ar[idx],func(idx+1,used,prev+1)); +} \ No newline at end of file diff --git a/pl2.cpp b/pl2.cpp new file mode 100644 index 0000000..5443a9c --- /dev/null +++ b/pl2.cpp @@ -0,0 +1,53 @@ +#include +#include +#define rep(i,k,n) for(int i=k;i>n; + rep(i,0,n) + rep(j,0,n) + scanf(" %c",&grid[i][j]); + ll cnt=0,max=0; + for(int i=0;imax) + { + max=cnt; + cnt=0; + } + } + printf("%lld",max); + +} +ll check(ll i,ll j) +{ + rep(k,0,n) + if(grid[i][k]!=grid[j][k]) + return 1; + return 0; +} \ No newline at end of file diff --git a/tech_code.cpp b/tech_code.cpp new file mode 100644 index 0000000..61f2fab --- /dev/null +++ b/tech_code.cpp @@ -0,0 +1,51 @@ +#include +using namespace std; +#define mod 1000000007 +#define ll long long +#define Author std::ios_base::sync_with_stdio(0); +#define NIKHIL_SETHI cout.tie(0); +#define MNNIT_ALLAHABAD cin.tie(0); +#define umii unordered_map +#define mii map +#define pii pair +#define all(v) v.begin(),v.end() +#define forP(i,j,k) for(i=j; ik; i--) +#define pb(a) push_back(a) +#define lb(v,t) lower_bound(all(v),t)-v.begin() +#define ub(v,t) upper_bound(all(v),t)-v.begin() +#define inf 1e18 + +//mainly used functions +bool prime[10000001]; +ll abst(ll a){if(a<0)return -a; return a;} +ll power(ll a, ll b){ll res=1;while(b){if(b&1)res=res*a;a=a*a;b/=2;}return res;} +ll invmod(ll a){return power(a,mod-2);} +ll lcm(ll a, ll b){return a*b/__gcd(a,b);} +ll ncr(ll n, ll r){ll p=1;ll i;for(i=1; i<=r; i++){p*=(n-i+1);p*=i;}return p;} +void sieve(){ll i;ll j;memset(prime,true,10000000);prime[0]=prime[1]=false;for(i=2; i*i<=10000000; i++){if(prime[i]){for(j=2*i; j<=10000000; j+=i){prime[j]=false;}}}} + +int main() +{ + ll t; + cin>>t; + while(t--) + { + ll a,b,n; + cin>>a>>b>>n; + if(n%3==0) + { + cout< +using namespace std; +#define mod 1000000007 +#define ll long long +#define Author std::ios_base::sync_with_stdio(0); +#define NIKHIL_SETHI cout.tie(0); +#define MNNIT_ALLAHABAD cin.tie(0); +#define umii unordered_map +#define mii map +#define pii pair +#define all(v) v.begin(),v.end() +#define forP(i,j,k) for(i=j; ik; i--) +#define pb(a) push_back(a) +#define lb(v,t) lower_bound(all(v),t)-v.begin() +#define ub(v,t) upper_bound(all(v),t)-v.begin() +#define inf 1e18 + +//mainly used functions +bool prime[10000001]; +ll abst(ll a){if(a<0)return -a; return a;} +ll power(ll a, ll b){ll res=1;while(b){if(b&1)res=res*a;a=a*a;b/=2;}return res;} +ll invmod(ll a){return power(a,mod-2);} +ll lcm(ll a, ll b){return a*b/__gcd(a,b);} +ll ncr(ll n, ll r){ll p=1;ll i;for(i=1; i<=r; i++){p*=(n-i+1);p*=i;}return p;} +void sieve(){ll i;ll j;memset(prime,true,10000000);prime[0]=prime[1]=false;for(i=2; i*i<=10000000; i++){if(prime[i]){for(j=2*i; j<=10000000; j+=i){prime[j]=false;}}}} + +int main() +{ + ll n; + cin>>n; + ll a[n]; + ll i,j; + for(i=0;i>a[i]; + unordered_map m; + ll ans = n-1; + for(i=0;i=i;j--) + { + m[a[j]]++; + if(m[a[j]]==1) + { + su = j; + } + else + break; + } + if(vp) + { + ans = min(ans,su-i); + } + m.clear(); + } + cout< + #define ll long long int + #define pb push_back + using namespace std; + const int N=1e5+5; + + int main() + { + ll n; + cin>>n; + ll a[n+5]; + ll b[n+5]; + ll i; + mapmp; + for(i=1;i<=n;i++){ + cin>>a[i]; + mp[a[i]]=i; + } + + //queueq; + + for(i=1;i<=n;i++){ + cin>>b[i]; + //q.push(b[i]); + } + + ll j=1; + ll ans=0; + //ll cnt=1; + bool visited[1000005]={0}; + for(i=1;i<=n && j<=n;i++) + { + //ll cnt=0; + if(visited[a[i]]==true) + continue; + if(j<=n &&a[i]==b[j]){ + j++; + continue; + } + else + { + while(j<=n && a[i]!=b[j]) + { + + //cnt++; + ans++; + visited[b[j]]=1; + j++; + } + j++; + } + + + //ans+=cnt; + } + cout< +#define ll long long int +//#define mp make_pair +using namespace std; +ll a[300005]; + +int main() +{ + ll t; + cin>>t; + ll n; + while(t--) + { + cin>>n; + string s; + cin>>s; + ll i,j,k,num; + // + for(i=0;i0 && r[var-1]==x){ + r+=x; + ans[i]=2; + } + else { + l+=x; + ans[i]=1; + } + } + //else if(a[i]==num && r.size()>0 && r[r.size()-1]==x){ + // r+=x; + // a[i]=2; + //} + else if(a[i]>num) + { + r+=x; + ans[i]=2; + } + } + l+=r; + if(is_sorted(l.begin(),l.end())){ + for(k=0;k + #define ll long long int + + using namespace std; + const int mod=1e8; + ll n1,n2,k1,k2; + // + ll dp[101][101][11][11]; + + ll fun(ll x1,ll x2,ll c1,ll c2) + { + ll &ans=dp[x1][x2][c1][c2]; + + if(x1==0 && x2==0) + return 1; + + if(ans!=-1) + return ans; + ans=0; + if(x1>0 && c10 && c2>n1>>n2>>k1>>k2; + memset(dp,-1,sizeof(dp)); + + cout< + #define ll long long int + using namespace std; + const int N=2e5+5; + ll dp[N]; + string s; + //basically i am storing the lis from back for a string + //from behind intution is if dp[i]==dp[i+1]+1 your answer will be updated to 0 if its 1; + + int main() + { + cin>>s; + ll i; + ll cnt=0; + memset(dp,0,sizeof(dp)); + ll n=s.size(); + for(i=n-1;i>=0;i--) + { + if(s[i]=='1'){ + cnt++; + dp[i]=max(dp[i+1],cnt); + } + else + dp[i]=dp[i+1]+1; + } + + for(i=n-1;i>=0;i--) + { + if(s[i]=='1' && dp[i]==dp[i+1]+1) + s[i]='0'; + } + cout< + #define ll long long int + using namespace std; + int main() + { + ll n; + cin>>n; + + ll a[n+5]; + ll hsh[150005]={0}; + + ll i; + ll maxi=0; + for(i=0;i>a[i]; + maxi=max(maxi,a[i]); + //hsh[a[i]]++; + } + ll ans=0; + sort(a,a+n); + for(i=0;i +#include +#define rep(i,k,n) for(int i=k;ib?b:a) +#define pii pair +using namespace std; +#define mp make_pair +#define fi first +#define se second +#define piii pair> +ll q,a,b,m,ar[100],two[55],size_; +ll pos(); +ll bin(ll,ll); +ll c,temp,mul,idx,ext,tot; +void print_(); +int main() +{ + two[0]=1; + rep(i,1,55) + two[i]=(2*two[i-1]); + cin>>q; + while(q--) + { + cin>>a>>b>>m; + c=a,temp=a,mul=0; + if(!pos()) + { + cout<<"-1\n"; + } + else + { + print_(); + rep(i,0,size_) + cout<=temp+mul&&b<=temp+mul*m) + { + idx=i+1; + ext=b-temp; + tot=mul; + return 1; + } + if(b<=temp+mul) + return 0; + temp=(c*two[i]); + mul=two[i]; + } +} +void print_() +{ + ll c=a,temp=a,mul=0,b=0; + for(int i=0;i +#include +#define rep(i,k,n) for(int i=k;ib?b:a) +using namespace std; +#include +#include +#define rep(i,k,n) for(int i=k;ib?b:a) +#define fi first +#define se second +using namespace std; +#define mp make_pair +#define pii pair +#define piii pair ,pair > +ll n,ar[300005],ans[300005],tot,size_; +set s; +int main() +{ + cin>>n; + rep(i,1,n+1) + { + cin>>ar[i]; + } + s.insert(ar[1]); + ans[ar[1]]=1; + rep(i,2,n+1) + for(auto itr=s.begin();itr!=s.end();itr++) + { + ll x=*itr; + if(ar[i]*x<=300005&&ans[ar[i]*x]==0) + { + ans[ar[i]*x]=i; + s.insert(ar[i]*x); + } + if(ans[ar[i]]==0) + { + s.insert(ar[i]); + ans[ar[i]]=i; + } + } + rep(i,1,n+1) + cout< +#include +#define rep(i,k,n) for(int i=k;ib?b:a) +using namespace std; +#include +#include +#define rep(i,k,n) for(int i=k;ib?b:a) +#define fi first +#define se second +using namespace std; +#define mp make_pair +#define pii pair +#define piii pair ,pair > +ll n,ar[300005],c=100005,k,x; +int main() +{ + cin>>n>>k; + k+=c; + rep(i,0,n) + { + cin>>x; + ar[x+c]=1; + } + ll ans=0; + rep(i,0,300005 ) + { + if(ar[i]) + ans++; + } + ll flag=0,a=-1,b=-1; + rep(i,0,k) + if(ar[i]) + a=max(a,(ll)i); + rep(i,k+1,300005) + if(ar[i]==1) + { + b=i; + break; + } + if(ar[k]==0&&(k-a)==(b-k)) + flag=1; + cout< +#include +#define rep(i,k,n) for(int i=k;ib?b:a) +using namespace std; +ll func(ll); +ll t,n,ar[100005],low,high,mid,k,gap,mingap,ans; +int main() +{ + cin>>t; + while(t--) + { + mingap=INF; + cin>>n; + rep(i,0,n) + cin>>ar[i]; + low=0; + high=ar[n-1]; + + while(low<=high) + { + mid=(low+high)/2; + gap=INF; + if(func(mid)==1) + { + ans=mid; + mingap=gap; + low=mid+1; + } + else + high=mid-1; + } + if(n!=1) + cout< +using namespace std; +#define mod 1000000007 +#define ll long long int +#define pb push_back +#define mp make_pair +#define fi first +#define se second +#define boost ios_base::sync_with_stdio(false);cin.tie(NULL); +#define inf 9223372036854775807 +#define mini 9223372036854775807 +#include +#include +using namespace __gnu_pbds; +#define ordered_set tree, rb_tree_tag,tree_order_statistics_node_update> +pairs4[4]={{-1,0},{1,0},{0,-1},{0,1}}; +pairs8[8]={{-1,-1},{-1,0},{-1,1},{0,-1},{0,1},{1,1},{1,0},{1,-1}}; +ll power(ll a,ll b) +{ + if(b==0) + return 1; + ll c=power(a,b/2); + if(b%2==0) + return ((c%mod)*(c%mod))%mod; + else + return ((((c%mod)*(c%mod))%mod)*a)%mod; +} +ll n; +char ch[55][55]; +ll dp[55][55][55]; +ll func(ll r1,ll r2,ll c1,ll c2) +{ + if(dp[r1][r2][c1][c2]!=-1) + return dp[r1][r2][c]; + if(r1==r2 || c1>=c2) + return 0; + if(ch[r1][c1]=='.') + { + //cout<<"-------...............------"<=0) + { + hashed[j-1]=max(hashed[j-2],hashed[j-1]); + tr[j-1]=min(tr[j-1],tr[j-2]); + } + if(i-2>=0) + lc[i-1]=min(lc[i-1],lc[i-2]); + if(hashed[j-1]>0) + { + ll hor=i-tr[j-1]; + ll ver=j-lc[i-1]; + ll val=max(hor,ver); + ans=min(ans,val+min(func(r1,i,j,c2)+func(i,r2,c1,c2),func(r1,r2,j,c2)+func(i,r2,c1,j))); + } + else + ans=min(ans,func(r1,i,j)+func(i,r2,c)); + } + } + return dp[r1][r2][c]=ans; + } + else + { + ll ans=mini; + for(ll i=r1+1; i<=r2; i++) + { + for(ll j=c+1; j<=n; j++) + { + ll hor=i-r1; + ll ver=j-c; + ll val=max(hor,ver); + ans=min(ans,val+func(r1,i,j)+func(i,r2,c)); + } + } + return dp[r1][r2][c]=ans; + } +} +int main() +{ + boost + memset(dp,-1,sizeof(dp)); + cin>>n; + for(ll i=0; i>ch[i][j]; + cout< +#define ll long long int +#define pb push_back +#define mp make_pair + +using namespace std; + +int main() +{ + ll n; + string s; + cin>>n>>s; + // + + + ll i,j; + vectorbc; + ll ans=n*(n-1)/2; + + for(i=0;i