Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit2c5d1d9

Browse files
authored
Add files via upload
1 parentf9d0394 commit2c5d1d9

File tree

3 files changed

+367
-0
lines changed

3 files changed

+367
-0
lines changed

‎Books.cpp‎

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
#include<bits/stdc++.h>
2+
3+
usingnamespacestd;
4+
5+
typedefdouble D ;
6+
typedeflonglong ll ;
7+
typedeflongdouble ld ;
8+
typedefunsignedint ui ;
9+
typedefunsignedlonglong ull ;
10+
11+
#defineF first
12+
#defineS second
13+
#defineRreturn
14+
#defineCcontinue
15+
#definepb push_back
16+
#definepf push_front
17+
#definemp make_pair
18+
19+
#defineall(v) (v).begin() , (v).end()
20+
#defineallrev(v) (v).rbegin() , (v).rend()
21+
#defineallcomp(v) v.begin() , v.end() , comp
22+
#defineallrevcomp(v) v.rbegin() , v.rend() , comp
23+
24+
#definevi vector <int>
25+
#definevb vector <bool>
26+
#definevll vector <ll>
27+
#definevs vector <string>
28+
29+
#definevvi vector < vector <int > >
30+
#definevvb vector < vector <bool > >
31+
#definevvc vector < vector <char > >
32+
#definevvll vector < vector < ll > >
33+
#definevvd vector < vector < D > >
34+
#definevvld vector < vector < ld > >
35+
36+
#definepii pair <int ,int >
37+
#definepll pair < ll , ll >
38+
#definepld pair < ld , ld >
39+
#definepDD pair < D , D >
40+
41+
#definevpld vector < pld >
42+
#definevpii vector < pii >
43+
#definevpll vector < pll >
44+
#definevpDD vector < pDD >
45+
#definevvpii vector < vector < pii > >
46+
47+
#defineFi(i,L,R)for (int i = L ; i <= R ; i++)
48+
#defineFd(i,R,L)for (int i = R ; i >= L ; i--)
49+
#definefast ios_base :: sync_with_stdio (false) ; cin.tie(0) ; cout.tie(0)
50+
51+
#definedist(a,b,p,q) sqrt((p-a)*(p-a) + (q-b)*(q-b))
52+
53+
const ld PI =3.1415926535897932384626 ;
54+
const ll MOD =1e9 +7 ;
55+
56+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
57+
58+
vi v ;
59+
ll n , t , ans =0 ;
60+
61+
boolcheck (ll mid)
62+
{
63+
ll sum =0 ;
64+
Fi(i ,0 , mid-1)
65+
sum += v[i] ;
66+
67+
if (sum <= t)
68+
returntrue ;
69+
70+
Fi(i , mid , n-1)
71+
{
72+
sum += v[i] ;
73+
sum -= v[i-mid] ;// sliding-window... right element enter window. left element leaves window.
74+
75+
if (sum <= t)
76+
returntrue ;
77+
}
78+
79+
80+
returnfalse ;
81+
82+
}
83+
84+
voidsolve ()
85+
{
86+
cin >> n >> t ;
87+
v.resize(n) ;
88+
Fi(i ,0 , n-1)
89+
cin >> v[i] ;
90+
91+
// i will go for binary search to find the maximum length array with sum atmost = t ;
92+
93+
ll lo =0 , hi = n ;
94+
95+
while(lo <= hi)
96+
{
97+
ll mid = (lo + hi)/2 ;
98+
if (check(mid))// it means that sub-array with length atleast equal to value of mid exists that matches our condition
99+
{
100+
ans =max(ans , mid) ;
101+
lo = mid +1 ;// now will check if sub-array with greater length exists or not
102+
}
103+
else
104+
{
105+
hi = mid -1 ;// if it doesnt exist then we will check for intermediate valude of prev lo and new hi . in short : binary search
106+
}
107+
}
108+
109+
cout << ans ;
110+
111+
}
112+
113+
intmain()
114+
{
115+
//freopen ("input.txt","r",stdin) ;
116+
//freopen ("output.txt","w",stdout) ;
117+
fast ;
118+
int t =1 ;
119+
//cin>>t ;
120+
while (t--)
121+
solve () ;
122+
return0 ;
123+
}

‎Kefa and Park.cpp‎

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
#include<bits/stdc++.h>
2+
3+
usingnamespacestd;
4+
5+
typedefdouble D ;
6+
typedeflonglong ll ;
7+
typedeflongdouble ld ;
8+
typedefunsignedint ui ;
9+
typedefunsignedlonglong ull ;
10+
11+
#defineF first
12+
#defineS second
13+
#defineRreturn
14+
#defineCcontinue
15+
#definepb push_back
16+
#definepf push_front
17+
#definemp make_pair
18+
19+
#defineall(v) (v).begin() , (v).end()
20+
#defineallrev(v) (v).rbegin() , (v).rend()
21+
#defineallcomp(v) v.begin() , v.end() , comp
22+
#defineallrevcomp(v) v.rbegin() , v.rend() , comp
23+
24+
#definevi vector <int>
25+
#definevb vector <bool>
26+
#definevll vector <ll>
27+
#definevs vector <string>
28+
29+
#definevvi vector < vector <int > >
30+
#definevvb vector < vector <bool > >
31+
#definevvc vector < vector <char > >
32+
#definevvll vector < vector < ll > >
33+
#definevvd vector < vector < D > >
34+
#definevvld vector < vector < ld > >
35+
36+
#definepii pair <int ,int >
37+
#definepll pair < ll , ll >
38+
#definepld pair < ld , ld >
39+
#definepDD pair < D , D >
40+
41+
#definevpld vector < pld >
42+
#definevpii vector < pii >
43+
#definevpll vector < pll >
44+
#definevpDD vector < pDD >
45+
#definevvpii vector < vector < pii > >
46+
47+
#defineFi(i,L,R)for (int i = L ; i <= R ; i++)
48+
#defineFd(i,R,L)for (int i = R ; i >= L ; i--)
49+
#definefast ios_base :: sync_with_stdio (false) ; cin.tie(0) ; cout.tie(0)
50+
51+
#definedist(a,b,p,q) sqrt((p-a)*(p-a) + (q-b)*(q-b))
52+
53+
const ld PI =3.1415926535897932384626 ;
54+
const ll MOD =1e9 +7 ;
55+
56+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
57+
58+
vb cat ;
59+
vvi adj ;
60+
ll ans =0 ;
61+
int n , m ;
62+
63+
voiddfs(int node ,int parent ,int consec)
64+
{
65+
if (cat[node])
66+
{
67+
++consec ;
68+
if (consec > m)
69+
return ;
70+
}
71+
72+
if (!cat[node])
73+
consec =0 ;// chain of consecutive cats on a path breaks ;
74+
75+
if (consec <= m && adj[node].size() ==1 && node !=0)// leaf node is reached as it has only parent node in its adjacency list so size = 1 and ndoe != 0 means it's not root
76+
{
77+
++ans ;
78+
return ;
79+
}
80+
81+
for (auto ptr : adj[node])
82+
{
83+
if (ptr != parent)
84+
dfs(ptr , node , consec) ;
85+
}
86+
}
87+
88+
voidsolve ()
89+
{
90+
cin >> n >> m ;
91+
92+
if (n ==1)// only one node. it is root and leaf itself ;
93+
{
94+
cout <<'1' ;
95+
return ;
96+
}
97+
98+
cat.resize(n) ;
99+
adj.resize(n) ;
100+
101+
Fi(i ,0 , n-1)
102+
{
103+
bool t ;
104+
cin >> t ;
105+
cat[i] = t ;
106+
}
107+
108+
Fi(i ,1 , n-1)
109+
{
110+
int a , b ;
111+
cin >> a >> b ;
112+
--a ;
113+
--b ;
114+
adj[a].pb(b) ;
115+
adj[b].pb(a) ;
116+
}
117+
118+
dfs(0 , -1 ,0) ;
119+
cout << ans ;
120+
}
121+
122+
intmain()
123+
{
124+
//freopen ("input.txt","r",stdin) ;
125+
//freopen ("output.txt","w",stdout) ;
126+
fast ;
127+
int t =1 ;
128+
//cin>>t ;
129+
while (t--)
130+
solve () ;
131+
return0 ;
132+
}

‎Two Substrings.cpp‎

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
#include<bits/stdc++.h>
2+
3+
usingnamespacestd;
4+
5+
typedefdouble D ;
6+
typedeflonglong ll ;
7+
typedeflongdouble ld ;
8+
typedefunsignedint ui ;
9+
typedefunsignedlonglong ull ;
10+
11+
#defineF first
12+
#defineS second
13+
#defineRreturn
14+
#defineCcontinue
15+
#definepb push_back
16+
#definepf push_front
17+
#definemp make_pair
18+
19+
#defineall(v) (v).begin() , (v).end()
20+
#defineallrev(v) (v).rbegin() , (v).rend()
21+
#defineallcomp(v) v.begin() , v.end() , comp
22+
#defineallrevcomp(v) v.rbegin() , v.rend() , comp
23+
24+
#definevi vector <int>
25+
#definevb vector <bool>
26+
#definevll vector <ll>
27+
#definevs vector <string>
28+
29+
#definevvi vector < vector <int > >
30+
#definevvb vector < vector <bool > >
31+
#definevvc vector < vector <char > >
32+
#definevvll vector < vector < ll > >
33+
#definevvd vector < vector < D > >
34+
#definevvld vector < vector < ld > >
35+
36+
#definepii pair <int ,int >
37+
#definepll pair < ll , ll >
38+
#definepld pair < ld , ld >
39+
#definepDD pair < D , D >
40+
41+
#definevpld vector < pld >
42+
#definevpii vector < pii >
43+
#definevpll vector < pll >
44+
#definevpDD vector < pDD >
45+
#definevvpii vector < vector < pii > >
46+
47+
#defineFi(i,L,R)for (int i = L ; i <= R ; i++)
48+
#defineFd(i,R,L)for (int i = R ; i >= L ; i--)
49+
#definefast ios_base :: sync_with_stdio (false) ; cin.tie(0) ; cout.tie(0)
50+
51+
#definedist(a,b,p,q) sqrt((p-a)*(p-a) + (q-b)*(q-b))
52+
53+
const ld PI =3.1415926535897932384626 ;
54+
const ll MOD =1e9 +7 ;
55+
56+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
57+
58+
voidsolve ()
59+
{
60+
string s ;
61+
cin >> s ;
62+
int end1 = -1 , strt1 = -1 , end2 = -1 , strt2 = -1 ;
63+
int n = s.length() ;
64+
65+
Fi(i ,0 , n-2)
66+
{
67+
if (s[i] =='A' && s[i+1] =='B' && strt1 == -1)
68+
{
69+
strt1 = i ;
70+
}
71+
72+
if (s[i] =='B' && s[i+1] =='A' && strt2 == -1)
73+
{
74+
strt2 = i ;
75+
}
76+
}
77+
78+
Fd(i , n-1 ,1)
79+
{
80+
if (s[i] =='B' && s[i-1] =='A' && end1 == -1)
81+
{
82+
end1 = i ;
83+
--end1 ;
84+
}
85+
86+
if (s[i] =='A' && s[i-1] =='B' && end2 == -1)
87+
{
88+
end2 = i ;
89+
--end2 ;
90+
}
91+
}
92+
93+
if ((end2 - strt1 >1 && end2 != -1 && strt1 != -1) || (end1 - strt2 >1 && strt2 != -1 && end1 != -1))
94+
{
95+
cout <<"YES" ;
96+
return ;
97+
}
98+
99+
cout <<"NO" ;
100+
}
101+
102+
intmain()
103+
{
104+
//freopen ("input.txt","r",stdin) ;
105+
//freopen ("output.txt","w",stdout) ;
106+
fast ;
107+
int t =1 ;
108+
//cin>>t ;
109+
while (t--)
110+
solve () ;
111+
return0 ;
112+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp