diff --git a/641e.cpp b/641e.cpp new file mode 100644 index 0000000..6c2c273 --- /dev/null +++ b/641e.cpp @@ -0,0 +1,89 @@ +#include +using namespace std; + +typedef pair P; +#define mod 1000000007 +#define all(container) container.begin(),container.end() +#define tr(container,it) for(typeof(container.begin()) it = container.begin();it!=container.end();it++) +#define sz(a) int((a).size()) +#define pb push_back +#define CLR(arr) memset(arr, 0, sizeof(arr)) +#define mk make_pair +#define present(container,x) ((container).find(x) != (container).end()) +#define inf 123456789123456 +#define fs first +#define sc second +#define ll long long int +#define fr(it,st,en) for(it=st;it>n; +fr(i,0,n){ + cin>>a>>t>>val; + if(a==1){ + amp[val].insert(t); + } + else if(a==2){ + rmp[val].insert(t); + } + else{ + if(amp.find(val) == amp.end()){ + cout<<"0\n"; + } + else{ + if(rmp.find(val) == rmp.end()){ + cout< +using namespace std; + +typedef pair P; +#define mod 1000000007 +#define all(container) container.begin(),container.end() +#define tr(container,it) for(typeof(container.begin()) it = container.begin();it!=container.end();it++) +#define pb push_back +#define CLR(arr) memset(arr, 0, sizeof(arr)) +#define mk make_pair +#define present(container,x) ((container).find(x) != (container).end()) +#define inf 123456789123456 +#define fs first +#define sc second +#define ll long long int +#define fr(it,st,en) for(it=st;it>n>>m>>k; +fr(i,0,n){ + fr(j,0,m){ + cin>>a[i][j]; + if(a[i][j]!=0) + v1.pb(mk( mk(i,j) , a[i][j])); + } +} + +sort(all(v1),sort_pred()) ; + +fr(w1,0,v1.size()){ + i = v1[w1].fs.fs; + j = v1[w1].fs.sc; + //ws(v1[w1].sc); + if(!vis[i][j]){ + dfs(i,j); + sort(all(v),sort_pred()) ; + fr(w,0,v.size()){ + + if(v[w].sc * (v.size() - w ) >= k && k%v[w].sc==0){ + // ws(v[w].fs.fs); + // ws(v[w].fs.sc); + // ws(v[w].sc); + v2.clear(); + dfs2(v[w].fs.fs, v[w].fs.sc,v[w].sc); + // ws(v2.size()); + if(v2.size()*v[w].sc < k) continue; + f= 1; + val = v[w].sc; + ll it =0; + while(it < v2.size()){ + mrk[v2[it].fs.fs][v2[it].fs.sc] = 1; + + it++; + if(it * v[w].sc == k ) break; + } + w = v.size(); + } + //a[i][j] =0; + } + v.clear(); + } + if(f) break; +} + + +if(!f){ + cout<<"NO"; +} +else{ + cout<<"YES\n"; + fr(i,0,n){ + fr(j,0,m){ + if(mrk[i][j]) + cout< +using namespace std; + +typedef pair P; +#define mod 1000000007 +#define all(container) container.begin(),container.end() +#define tr(container,it) for(typeof(container.begin()) it = container.begin();it!=container.end();it++) +#define pb push_back +#define CLR(arr) memset(arr, 0, sizeof(arr)) +#define mk make_pair +#define present(container,x) ((container).find(x) != (container).end()) +#define inf 123456789123456 +#define fs first +#define sc second +#define ll long long int +#define fr(it,st,en) for(it=st;it>m; +int dir = 1 ; +int oa ,ob,sa,sb; +cin>>sa>>sb; +cin>>oa>>ob; + +fr(i,0,m-1){ + cin>>a>>b; + if(a - oa == 0){ + if(b > ob){ + if(dir == 2) + ans++; + dir = 1; + } + if(b < ob){ + if(dir == 4) + ans++; + dir =3; + } + } + else{ + if(a > oa){ + if(dir == 3) ans++; + dir =2; + } + else{ + if(dir ==1 ) ans++; + dir =4; + } + } + + oa =a; + ob =b; +} +cout< +using namespace std; + +typedef pair P; +#define mod 1000000007 +#define all(container) container.begin(),container.end() +#define tr(container,it) for(typeof(container.begin()) it = container.begin();it!=container.end();it++) +#define pb push_back +#define CLR(arr) memset(arr, 0, sizeof(arr)) +#define mk make_pair +#define present(container,x) ((container).find(x) != (container).end()) +#define inf 123456789123456 +#define fs first +#define sc second +#define ll long long int +#define fr(it,st,en) for(it=st;it>n>>m; +fr(i,0,m){ + cin>>tmp>>tmp1; + tmp--; tmp1--; + v[tmp].pb(tmp1); + v[tmp1].pb(tmp); +} + +fr(i,0,n){ + if(!vis[i]){ + dfs(i,-1); + //ws(sz); + //ws(f); + if( !f || sz==1 ){ + ans++; + } + f= 0 ; + sz = 0; + } +} +cout< +using namespace std; + +typedef pair P; +#define mod 1000000007 +#define all(container) container.begin(),container.end() +#define tr(container,it) for(typeof(container.begin()) it = container.begin();it!=container.end();it++) +#define pb push_back +#define CLR(arr) memset(arr, 0, sizeof(arr)) +#define mk make_pair +#define present(container,x) ((container).find(x) != (container).end()) +#define inf 3234567891 +//#define infl LLONG_MAX +#define fs first +#define sc second +#define ll long long int +#define fr(it,st,en) for(it=st;it>a>>b; +int st = 0 ,en = a.sz , beg =-1,fin =-1; +fr(i,0,a.sz){ + cnt[a[i]-'a']++; +} +fr(i,0,b.sz){ + if(cnt[b[i]-'a'] == 0 ){ + if(beg == -1){ + beg = i; + } + fin =i+1; + } + else{ + while(a[st]!= b[i] && st < a.sz){ + st++; + } + if(st >= a.sz){ + if(beg == -1){ + beg = i; + } + + fin =i+1; + } + else + cnt[b[i]-'a']--; + st++; + + } + //ws(st); +} +// ws(beg); +// ws(fin); +ll len1 = fin - beg ; +fr(i,0,b.sz){ + if( i >= beg && i < fin) continue; + ans1.pb(b[i]); +} +///ws(ans1); + reverse(all(b)); +// ws(b); +st = 0 ;en = a.sz ; beg =-1;fin =-1; +fr(i,0,b.sz){ + if(cnt[b[i]-'a'] == 0 ){ + if(beg == -1){ + beg = i; + } + fin =i+1; + } + else{ + while(a[st]!= b[i] && st < a.sz){ + st++; + } + if(st >= a.sz){ + if(beg == -1){ + beg = i; + } + + fin =i+1; + } + else + cnt[b[i]-'a']--; + st++; + + } +// ws(st); +} +// ws(beg); +// ws(fin); +ll len2 = fin - beg ; +if(len2 < len1){ + ans1.clear(); + fr(i,0,b.sz){ + if( i >= beg && i < fin) continue; + ans1.pb(b[i]); + } + reverse(all(ans1)); +} +fr(i,0,ans1.sz){ + cout< +using namespace std; + +typedef pair P; +#define mod 1000000007 +#define all(container) container.begin(),container.end() +#define tr(container,it) for(typeof(container.begin()) it = container.begin();it!=container.end();it++) +#define pb push_back +#define CLR(arr) memset(arr, 0, sizeof(arr)) +#define mk make_pair +#define present(container,x) ((container).find(x) != (container).end()) +#define inf 3234567891 +//#define infl LLONG_MAX +#define fs first +#define sc second +#define ll long long int +#define fr(it,st,en) for(it=st;it>s; +//cout< +using namespace std; + +typedef pair P; +#define mod 1000000007 +#define all(container) container.begin(),container.end() +#define tr(container,it) for(typeof(container.begin()) it = container.begin();it!=container.end();it++) +#define pb push_back +#define CLR(arr) memset(arr, 0, sizeof(arr)) +#define mk make_pair +#define present(container,x) ((container).find(x) != (container).end()) +#define inf 123456789123456 +#define infl LLONG_MAX +#define fs first +#define sc second +#define ll long long int +#define fr(it,st,en) for(it=st;it>s; +n =s.size(); +rec(n-3, 3 ,"*"); +rec(n-2,2,"*"); +//ws(mp.size()); +cout< +using namespace std; + +typedef pair P; +#define mod 1000000007 +#define all(container) container.begin(),container.end() +#define tr(container,it) for(typeof(container.begin()) it = container.begin();it!=container.end();it++) +#define sz(a) int((a).size()) +#define pb push_back +#define CLR(arr) memset(arr, 0, sizeof(arr)) +#define mk make_pair +#define present(container,x) ((container).find(x) != (container).end()) +#define inf 123456789123456 +#define fs first +#define sc second +#define ll long long int +#define fr(it,st,en) for(it=st;it>n>>m>>q; +fr(i,0,q){ + cin>>t[i]>>ind1[i]; + if(t[i]==3) + { + cin>>ind2[i]>>val[i]; + } + +} +for(i=q-1;i>=0;i--){ + if(t[i] == 1){ + tmp = a[ind1[i]][m]; + for(j=m;j>=2;j--){ + a[ind1[i]][j] = a[ind1[i]][j-1]; + + } + a[ind1[i]][1] = tmp; + + } + else if(t[i]== 2){ + tmp = a[n][ind1[i]]; + for(j=n;j>=2;j--) + a[j][ind1[i]] = a[j-1][ind1[i]]; + a[1][ind1[i]] = tmp; + } + else{ + //what_is(ind1[i]); + // what_is(ind2[i]); + // what_is(val[i]); + a[ind1[i]][ind2[i]] = val[i]; + } +} +fr(i,1,n+1){ + fr(j,1,m+1){ + cout< +using namespace std; + +typedef pair P; +#define mod 1000000007 +#define all(container) container.begin(),container.end() +#define tr(container,it) for(typeof(container.begin()) it = container.begin();it!=container.end();it++) +#define pb push_back +#define CLR(arr) memset(arr, 0, sizeof(arr)) +#define mk make_pair +#define present(container,x) ((container).find(x) != (container).end()) +#define inf 123456789123456 +#define infl LLONG_MAX +#define fs first +#define sc second +#define ll long long int +#define fr(it,st,en) for(it=st;it>n; +fr(i,0,n) { + cin>>a[i]; + mp[a[i]]++; +} +cin>>m; +fr(i,0,m) + cin>>b[i]; +fr(i,0,m) + cin>>c[i]; + +fr(i,0,m){ + ll v1 = mp[b[i]]; + + if(mx < v1){ + ll v2 = mp[c[i]]; + mx = v1; + mx1 = v2; + ans = i ; + } + else if(mx == v1){ + ll v2 = mp[c[i]]; + if(mx1 < v2){ + mx1 = v2; + ans = i; + } + } +} +cout< +using namespace std; + +typedef pair P; +#define mod 1000000007 +#define all(container) container.begin(),container.end() +#define tr(container,it) for(typeof(container.begin()) it = container.begin();it!=container.end();it++) +#define pb push_back +#define CLR(arr) memset(arr, 0, sizeof(arr)) +#define mk make_pair +#define present(container,x) ((container).find(x) != (container).end()) +#define inf 3234567891 +#define infl LLONG_MAX +#define fs first +#define sc second +#define ll long long int +#define fr(it,st,en) for(it=st;it>n>>m>>k; +fr(i,0,n) +{ + cin>>ch; + ls.push_back(ch); +} +cin>>sq; +auto pos = ls.begin(); +advance(pos,k-1); +fr(i,0,m){ + + if(sq[i]=='R') pos++; + else if(sq[i]== 'L') pos-- ; + else{ + if( *pos == '('){ + auto cpos = pos; + cpos++; + cnt = 1; + while(cnt !=0){ + if(*cpos == ')') + cnt--; + else + cnt++; + auto cc = cpos; + cpos++; + ls.erase(cc); + } + + } + else{ + auto cpos =pos ; + cpos--; + cnt =-1; + while(cnt !=0){ + if( *cpos == ')') + cnt--; + else + cnt++; + auto cc = cpos; + cpos--; + ls.erase(cc); + } + + } + + auto npos = pos; + npos++; + if(npos == ls.end()){ + npos--; + npos--; + } + ls.erase(pos); + pos =npos; + + } + +} + +for(std::list::iterator it1 = ls.begin(); it1 != ls.end(); it1++) +cout<<*it1; +return 0; +} \ No newline at end of file diff --git a/672c.cpp b/672c.cpp new file mode 100644 index 0000000..6979541 --- /dev/null +++ b/672c.cpp @@ -0,0 +1,75 @@ +// avvinci +#include +using namespace std; + +typedef pair P; +#define mod 1000000007 +#define all(container) container.begin(),container.end() +#define tr(container,it) for(typeof(container.begin()) it = container.begin();it!=container.end();it++) +#define pb push_back +#define CLR(arr) memset(arr, 0, sizeof(arr)) +#define mk make_pair +#define present(container,x) ((container).find(x) != (container).end()) +#define inf 3234567891 +//#define infl LLONG_MAX + +#define fs first +#define sc second +#define ll long long int +#define fr(it,st,en) for(it=st;it>ax>>ay>>bx>>by>>tx>>ty; +cin>>n; +fr(i,1,n+1) +{ + cin>>x[i]>>y[i]; + val = dist(tx,ty,x[i],y[i]); + sm += val; + da[i] = dist(ax,ay,x[i],y[i]) - val; + dbs[i] = dist(bx,by,x[i],y[i]) - val ; + dbp[i] = dbs[i]; + +} +sm = sm*2; +dbp[0] = infl; +dbs[n+1] = infl; + +fr(i,1,n+1) { + dbp[i] = min(dbp[i],dbp[i-1]); + +} +ans = sm + dbp[n]; + +for(i =n ;i >=1;i--) + dbs[i] = min(dbs[i],dbs[i+1]); + +fr(i,1,n+1){ + ans = min(ans , sm + min(0.0 , da[i]+min(dbp[i-1], dbs[i+1]))); +} + cout< + +using namespace std; + +#define pb push_back +#define orta (bas + son >> 1) +#define sag (k + k + 1) +#define sol (k + k) +#define endl '\n' +#define foreach(i,x) for(type(x)i=x.begin();i!=x.end();i++) +#define FOR(ii,aa,bb) for(int ii=aa;ii<=bb;ii++) +#define ROF(ii,aa,bb) for(int ii=aa;ii>=bb;ii--) +#define mp make_pair +#define nd second +#define st first +#define type(x) __typeof(x.begin()) + +typedef pair < int ,int > pii; + +typedef long long ll; + +const long long linf = 1e18+5; +const int mod = (int) 1e9 + 7; +const int logN = 17; +const int inf = 1e9; +const int N = 1e6 + 5; + +int Kx, Ky, Cx, Cy, Tx, Ty, n, x, y; + +double pre[N], suff[N], add[N], all; + +double dist(int x, int y, int a, int b) { return sqrt((ll) (x - a) * (x - a) + (ll) (y - b) * (y - b)); } + +int main() { + if (fopen("inp.txt", "r")) { + freopen("myfile.txt","w",stdout); + freopen("inp.txt", "r", stdin); +} + scanf("%d %d %d %d %d %d", &Kx, &Ky, &Cx, &Cy, &Tx, &Ty); + + scanf("%d", &n); + + FOR(i, 1, n) { + scanf("%d %d", &x, &y); + double add = dist(Tx, Ty, x, y); + all += add * 2; + suff[i] = pre[i] = dist(Cx, Cy, x, y) - add; + ::add[i] = dist(Kx, Ky, x, y) - add; + } + + pre[0] = suff[n+1] = linf; + FOR(i, 1, n) { pre[i] = min(pre[i-1], pre[i]); } + ROF(i, n, 1) { suff[i] = min(suff[i+1], suff[i]); } + + double ans = suff[1] + all; + + FOR(i, 1, n) + ans = min(ans, all + min(0.0, min(pre[i-1], suff[i+1])) + add[i]); + + printf("%.12lf\n", ans); + + return 0; +} \ No newline at end of file diff --git a/673c.cpp b/673c.cpp new file mode 100644 index 0000000..692014e --- /dev/null +++ b/673c.cpp @@ -0,0 +1,60 @@ +// avvinci +//#include"prettyprint.hpp" +#include +using namespace std; + +typedef pair P; +#define mod 1000000007 +#define all(container) container.begin(),container.end() +#define tr(container,it) for(typeof(container.begin()) it = container.begin();it!=container.end();it++) +#define pb push_back +#define CLR(arr) memset(arr, 0, sizeof(arr)) +#define mk make_pair +#define present(container,x) ((container).find(x) != (container).end()) +#define inf 3234567891 +//#define infl LLONG_MAX +#define fs first +#define sc second +#define ll long long int +#define fr(it,st,en) for(it=st;it>n>>m>>k1; +cin>>s; +cin>>t; +fr(i,1,n+1){ + fr(j,1,m+1){ + if(s[i-1] == t[j-1]) + cons[i][j] = cons[i-1][j-1]+1; + + } +} + +fr(k,1,k1+1){ + fr(i,1,n+1){ + fr(j,1,m+1){ + int len = cons[i][j]; + dp[i][j][k] = max (max(dp[i-1][j][k] , dp[i][j-1][k]) , dp[i-len][j-len][k-1] + len ); + ans = max(ans,dp[i][j][k]); + } + } +} +cout< +using namespace std; + +typedef pair P; +#define mod 1000000007 +#define all(container) container.begin(),container.end() +#define tr(container,it) for(typeof(container.begin()) it = container.begin();it!=container.end();it++) +#define pb push_back +#define CLR(arr) memset(arr, 0, sizeof(arr)) +#define mk make_pair +#define present(container,x) ((container).find(x) != (container).end()) +#define inf 3234567891 +//#define infl LLONG_MAX +#define fs first +#define sc second +#define ll long long int +#define fr(it,st,en) for(it=st;it>n; + +fr(i,0,n) { + cin>>inp[i]; +} + + + +a[0].val = inp[0]; +a[0].lt = -1; +a[0].rt = - 1; + + +fr(i,1,n){ + + ll st = 0; + while(1){ + // ws(st); + + if(inp[i] < a[st].val){ + if(a[st].lt !=-1) + st = a[st].lt; + else{ + a[st]. lt = t++; + break; + } + } + else{ + if(a[st].rt !=-1) + st = a[st].rt; + else{ + a[st].rt =t++; + break; + } + + } + } + a[t-1].val = inp[i]; + a[t-1].lt = -1; + a[t-1].rt = -1; + mp[inp[i]] = st; + + + +} +ws(mp); +fr(i,1,n){ + cout<< inp[ mp[inp[i]] ] <<" "; +} + + + +return 0; +} \ No newline at end of file diff --git a/675d_new.cpp b/675d_new.cpp new file mode 100644 index 0000000..f0bff26 --- /dev/null +++ b/675d_new.cpp @@ -0,0 +1,80 @@ +// avvinci +#include +using namespace std; + +typedef pair P; +#define mod 1000000007 +#define all(container) container.begin(),container.end() +#define tr(container,it) for(typeof(container.begin()) it = container.begin();it!=container.end();it++) +#define pb push_back +#define CLR(arr) memset(arr, 0, sizeof(arr)) +#define mk make_pair +#define present(container,x) ((container).find(x) != (container).end()) +#define inf 3123456789 +#define infn -3123456789 +//#define infl LLONG_MAX +#define fs first +#define sc second +#define ll long long int +#define fr(it,st,en) for(it=st;it>n; + +fr(i,0,n) { + cin>>inp[i]; +} + +s.insert(inp[0]); +mp[mk(inp[0],inf)] = inp[0]; +mp[mk( infn,inp[0])] = inp[0]; + +ll lt,rt; +fr(i,1,n){ + s.insert(inp[i]); + auto it = s.find(inp[i]); + if(it == s.begin()) + lt = infn; + else{ + it--; + lt = *it; + it++; + } + it++; + if(it == s.end()) + rt = inf ; + else + rt = *it; + // ws(lt); + // ws(rt); + val = mp[ mk ( lt,rt )]; + map < P , ll >::iterator it1 = mp.find(mk(lt,rt)); + assert(it1!=mp.end()); + cout<< val<<" "; + mp[mk(lt,inp[i])] = inp[i]; + mp[mk(inp[i] ,rt)] = inp[i]; + + mp.erase(it1); + + +} + + + + + +return 0; +} \ No newline at end of file diff --git a/676c.cpp b/676c.cpp new file mode 100644 index 0000000..5262893 --- /dev/null +++ b/676c.cpp @@ -0,0 +1,89 @@ +// avvinci +#include +using namespace std; + +typedef pair P; +#define mod 1000000007 +#define all(container) container.begin(),container.end() +#define tr(container,it) for(typeof(container.begin()) it = container.begin();it!=container.end();it++) +#define pb push_back +#define CLR(arr) memset(arr, 0, sizeof(arr)) +#define mk make_pair +#define present(container,x) ((container).find(x) != (container).end()) +#define inf 3234567891 +//#define infl LLONG_MAX +#define fs first +#define sc second +#define ll long long int +#define fr(it,st,en) for(it=st;it>n>>k; +cin>>s; + + +ll low =1 , high = n ,mid ,ans =-1; + +while(low <= high){ + + mid = low + (high-low)/2; + + if(ok(mid)){ + ans =mid; + low = mid+1; + } + else + { + high = mid-1; + } + //ws(mid); +} +cout< +using namespace std; + +typedef pair P; +#define mod 1000000007 +#define all(container) container.begin(),container.end() +#define tr(container,it) for(typeof(container.begin()) it = container.begin();it!=container.end();it++) +#define pb push_back +#define CLR(arr) memset(arr, 0, sizeof(arr)) +#define mk make_pair +#define present(container,x) ((container).find(x) != (container).end()) +#define inf 3234567891 +//#define infl LLONG_MAX +#define fs first +#define sc second +#define ll long long int +#define fr(it,st,en) for(it=st;it>s; + +for( ll i= 0 ; i< s.size() ; i++){ + if(s[i] >= 48 && s[i] <= 57){ + val = s[i] - 48; + } + else if( s[i] >= 65 && s[i]<=90){ + val = s[i]-'A' +10; + + } + else if( s[i] >= 97 && s[i]<=122){ + val = s[i] -'a' + 36; + + } + else if(s[i] == '-'){ + val =62 ; + } + else if(s[i] == '_'){ + val =63; + } + //ws(val); + + for( ll it1= 0 ; it1< 6 ; it1++){ + int vv= val & (1< +using namespace std; + +typedef pair P; +#define mod 1000000007 +#define MOD 1000000007 +#define all(container) container.begin(),container.end() +#define tr(container,it) for(typeof(container.begin()) it = container.begin();it!=container.end();it++) +#define pb push_back +#define CLR(arr) memset(arr, 0, sizeof(arr)) +#define mk make_pair +#define present(container,x) ((container).find(x) != (container).end()) +#define inf 3234567891 +//#define infl LLONG_MAX +#define fs first +#define sc second +#define ll long long int +#define fr(it,st,en) for(it=st;it>a>>b>>n>>x; +ll mat[2][2]; +mat[0][0] =a; +mat[0][1] =b; +mat[1][0] = 0; +mat[1][1] =1; + +powmod(mat ,n); + +cout << ((mat[0][0]*x)%mod + mat[0][1]) %mod ; + + + + +return 0; +} \ No newline at end of file diff --git a/680c.cpp b/680c.cpp new file mode 100644 index 0000000..21ffd58 --- /dev/null +++ b/680c.cpp @@ -0,0 +1,106 @@ +// avvinci +//#include"prettyprint.hpp" +#include +using namespace std; + +typedef pair P; +#define mod 1000000007 +#define all(container) container.begin(),container.end() +#define tr(container,it) for(typeof(container.begin()) it = container.begin();it!=container.end();it++) +#define pb push_back +#define CLR(arr) memset(arr, 0, sizeof(arr)) +#define mk make_pair +#define present(container,x) ((container).find(x) != (container).end()) +#define inf 3234567891 +//#define infl LLONG_MAX +#define fs first +#define sc second +#define ll long long int +#define fr(it,st,en) for(it=st;it>s; + if(s == "yes"){ + f=i+1; + cout<<"composite"<>s; + if(s == "yes"){ + f=i+1; + cout<<"composite"< 100){ + cout<<"prime"< +using namespace std; + +typedef pair P; +#define mod 1000000007 +#define all(container) container.begin(),container.end() +#define tr(container,it) for(typeof(container.begin()) it = container.begin();it!=container.end();it++) +#define sz(a) int((a).size()) +#define pb push_back +#define CLR(arr) memset(arr, 0, sizeof(arr)) +#define mk make_pair +#define present(container,x) ((container).find(x) != (container).end()) +#define inf 123456789123456 +#define fs first +#define sc second +#define ll long long int +#define fr(it,st,en) for(it=st;it>n>>m; +fr(i,0,m){ + cin>>p>>q; + g[p].pb(q); + +} + +fr(i,0,n){ + cin>>tmp; + if(mrk[tmp]==0) + pm++; + mrk[tmp] =1; + + inp[i] =tmp; +// v1[cmp[tmp]].insert(tmp); +} + +fr(i,1,n+1){ + if(!vis[i]){ + dfs(i,cnt++); + } + // v1[cmp[i]].pb(i); + +} +fr(i,0,n){ + if(!v1[cmp[inp[i]]].empty() ){ + auto it1 = v1[cmp[inp[i]]].end(); + it1--; + if(*it1 == inp[i]) + continue; + } + v1[cmp[inp[i]]].pb(inp[i]); +} +fr(i,0,cnt){ +// what_is(i); +// for(auto &it : v1[i]) +// cout< +using namespace std; + +typedef pair P; +#define mod 1000000007 +#define MOD 1000000007 +#define all(container) container.begin(),container.end() +#define tr(container,it) for(typeof(container.begin()) it = container.begin();it!=container.end();it++) +#define pb push_back +#define CLR(arr) memset(arr, 0, sizeof(arr)) +#define mk make_pair +#define present(container,x) ((container).find(x) != (container).end()) +#define inf 3234567891 +//#define infl LLONG_MAX +#define fs first +#define sc second +#define ll long long int +#define fr(it,st,en) for(it=st;it>n>>k; +fr(i,0,n){ + cin>>a[i]; +} + +fr(i,0,n){ + fr(j,0,k+1){ + fr(u,0,k+1){ + dp[i][j][u] = -1; + } + } +} +rec(n-1,0,k); + +fr(i,0,n){ + fr(j,0,k+1){ + fr(u,0,k+1){ + if(dp[i][j][u]==1){ + s.insert(j); + s.insert(k-j); + } + } + } +} + +cout< +using namespace std; + +typedef pair P; +#define mod 1000000007 +#define all(container) container.begin(),container.end() +#define tr(container,it) for(typeof(container.begin()) it = container.begin();it!=container.end();it++) +#define sz(a) int((a).size()) +#define pb push_back +#define CLR(arr) memset(arr, 0, sizeof(arr)) +#define mk make_pair +#define present(container,x) ((container).find(x) != (container).end()) +#define inf 123456789123456 +#define fs first +#define sc second +#define ll long long int +#define fr(it,st,en) for(it=st;it>s; +n= s.size(); +fr(i,0,s.size()){ + + if(s[i] != s[n-1-i] && !( (s[i]=='b' && s[n-1-i] == 'd') || (s[i]=='d' && s[n-1-i] == 'b') ) && !( (s[i]=='p' && s[n-1-i] == 'q') || (s[i]=='q' && s[n-1-i] == 'p') ) ){ + f= 0; + // ws(i); + } + else if(s[i]== s[n-1-i] && (find(all(v),s[i]) == v.end() ) ){ + f=0; + } + + +} + +if(f){ + cout<<"TAK"; +} +else cout<<"NIE"; + +return 0; +} \ No newline at end of file diff --git a/691d.cpp b/691d.cpp new file mode 100644 index 0000000..34132f9 --- /dev/null +++ b/691d.cpp @@ -0,0 +1,70 @@ +// avvinci +#include +using namespace std; + +typedef pair P; +#define mod 1000000007 +#define all(container) container.begin(),container.end() +#define tr(container,it) for(typeof(container.begin()) it = container.begin();it!=container.end();it++) +#define sz(a) int((a).size()) +#define pb push_back +#define CLR(arr) memset(arr, 0, sizeof(arr)) +#define mk make_pair +#define present(container,x) ((container).find(x) != (container).end()) +#define inf 123456789123456 +#define fs first +#define sc second +#define ll long long int +#define fr(it,st,en) for(it=st;it>n>>m; +fr(i,0,n){ + cin>>a[i]; +} +fr(i,0,m){ + cin>>tmp>>tmp1; + tmp--;tmp1--; + v[tmp].pb(tmp1); + v[tmp1].pb(tmp); +} + +fr(i,0,n){ + if(vis[i] == 0){ + dfs(i); + //ws(i); + cnt++; + + } +} +fr(i,0,n){ + ll val = pq[cmp[i]].top(); + pq[cmp[i]].pop(); + //ws(val); + cout<