From cd3aff3aa5434ba27049f39317a3deb8fdc39a59 Mon Sep 17 00:00:00 2001 From: abhinav vinci Date: Mon, 30 Oct 2017 03:06:59 -0700 Subject: [PATCH] Add files via upload added my solutions to problems with id 600 to 700 --- 641e.cpp | 89 +++++++++++++++++++++++++++++ 659F.cpp | 131 +++++++++++++++++++++++++++++++++++++++++++ 659d.cpp | 68 ++++++++++++++++++++++ 659e.cpp | 68 ++++++++++++++++++++++ 660d.cpp | 124 ++++++++++++++++++++++++++++++++++++++++ 665c.cpp | 50 +++++++++++++++++ 667c.cpp | 67 ++++++++++++++++++++++ 669c.cpp | 98 ++++++++++++++++++++++++++++++++ 670c.cpp | 64 +++++++++++++++++++++ 670d2.cpp | 97 ++++++++++++++++++++++++++++++++ 672c.cpp | 75 +++++++++++++++++++++++++ 672c_dp.cpp | 63 +++++++++++++++++++++ 673c.cpp | 60 ++++++++++++++++++++ 675c.cpp | 92 ++++++++++++++++++++++++++++++ 675d_new.cpp | 80 ++++++++++++++++++++++++++ 676c.cpp | 89 +++++++++++++++++++++++++++++ 677c.cpp | 72 ++++++++++++++++++++++++ 678d_matrix_expo.cpp | 94 +++++++++++++++++++++++++++++++ 680c.cpp | 106 ++++++++++++++++++++++++++++++++++ 681d.cpp | 129 ++++++++++++++++++++++++++++++++++++++++++ 688v.cpp | 95 +++++++++++++++++++++++++++++++ 691b.cpp | 66 ++++++++++++++++++++++ 691d.cpp | 70 +++++++++++++++++++++++ 23 files changed, 1947 insertions(+) create mode 100644 641e.cpp create mode 100644 659F.cpp create mode 100644 659d.cpp create mode 100644 659e.cpp create mode 100644 660d.cpp create mode 100644 665c.cpp create mode 100644 667c.cpp create mode 100644 669c.cpp create mode 100644 670c.cpp create mode 100644 670d2.cpp create mode 100644 672c.cpp create mode 100644 672c_dp.cpp create mode 100644 673c.cpp create mode 100644 675c.cpp create mode 100644 675d_new.cpp create mode 100644 676c.cpp create mode 100644 677c.cpp create mode 100644 678d_matrix_expo.cpp create mode 100644 680c.cpp create mode 100644 681d.cpp create mode 100644 688v.cpp create mode 100644 691b.cpp create mode 100644 691d.cpp 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<