赞
踩
#include <iostream> #include <bits/stdc++.h> #include <unordered_map> #define int long long #define mk make_pair #define gcd __gcd using namespace std; const double eps = 1e-10; const int mod = 10007; const int N = 2e5+7; int n,m,k,t = 1,cas = 1; int a[N],b[N]; int c; int sum[N]; int nxt[N]; signed main(){ cin>>t; while(t--){ int p,x,y,z; cin>>p>>x>>y>>z; int x1 = p%(x); int x2 = p%(y); int x3 = p%(z); if(x1 == 0) x1 = x; if(x2 == 0) x2 = y; if(x3 == 0) x3 = z; cout<<min(x-x1,min(y-x2,z-x3))<<endl;; } return 0; }
#include <iostream> #include <bits/stdc++.h> #include <unordered_map> #define int long long #define mk make_pair #define gcd __gcd using namespace std; const double eps = 1e-10; const int mod = 10007; const int N = 2e5+7; int n,m,k,t = 1,cas = 1; int a[N],b[N]; int c; int sum[N]; int nxt[N]; int maxx[N]; signed main(){ cin>>t; while(t--){ cin>>n; for(int i = 0 ; i < n ; i ++){ cin>>a[i]; } maxx[0] = a[0]; for(int i = 0 ; i < n ; i ++){ maxx[i] = max(maxx[i-1],a[i]); } int pos = 0 ; int r = n; for(int i = n-1 ; i >= 0 ; i --){ if(a[i] == maxx[i]){ for(int j = i ; j < r ; j ++){ b[pos++] = a[j]; } r = i; } } for(int i = 0 ; i < n ; i ++){ cout<<b[i]<<" "; } cout<<endl; } return 0; }
#include <iostream> #include <bits/stdc++.h> #include <unordered_map> #define int long long #define mk make_pair #define gcd __gcd using namespace std; const double eps = 1e-10; const int mod = 10007; const int N = 2e5+7; int n,m,k,t = 1,cas = 1; int a[N],b[N]; int c; signed main(){ //cin>>t; while(t--){ string s1,s2; cin>>n>>m; cin>>s1>>s2; int pre = 0; int pos = 0; int res = 0; for(int i = 0; i < m ; i ++){ while(s1[pos] != s2[i]) pos++; a[i] = pos; pos ++; } pos = n-1; for(int i = m-1 ; i >= 0 ; i --){ while(s1[pos] != s2[i]) pos--; b[i] = pos; pos --; } for(int i = 1 ; i < m ; i ++){ res = max(res,b[i]-a[i-1]); } cout<<res<<endl; } return 0; }
#include <iostream> #include <bits/stdc++.h> #include <unordered_map> #define int long long #define mk make_pair #define gcd __gcd using namespace std; const double eps = 1e-10; const int mod = 10007; const int N = 2e5+7; int n,m,k,t = 1,cas = 1; int a[N],b[N]; int c; signed main(){ //cin>>t; while(t--){ int x,y; cin>>x>>y>>k; if(k == 0){ cout<<"Yes"<<endl; for(int i = 0 ; i < y ; i ++) cout<<1; for(int i = 0 ; i < x ; i ++) cout<<0; cout<<endl; for(int i = 0 ; i < y ; i ++) cout<<1; for(int i = 0 ; i < x ; i ++) cout<<0; cout<<endl; }else{ if(y >= 2 && x > 0 && y+x-2 >= k){ cout<<"Yes"<<endl; if(y-1 >= k){ cout<<1; for(int i = 0 ; i < k ; i ++) cout<<1; cout<<0; for(int i = 0 ; i < y-1-k ; i ++) cout<<1; for(int i = 0 ; i < x-1 ; i ++) cout<<0; cout<<endl; cout<<1; cout<<0; for(int i = 0 ; i < k ; i ++) cout<<1; for(int i = 0 ; i < y-1-k ; i ++) cout<<1; for(int i = 0 ; i < x-1 ; i ++) cout<<0; cout<<endl; }else{ int z = k-y+1; cout<<1; for(int i = 0 ; i < y-1 ; i ++) cout<<1; for(int i = 0 ; i < z ; i ++) cout<<0; cout<<0; for(int i = 0 ; i < x-z-1 ; i ++) cout<<0; cout<<endl; cout<<1; cout<<0; for(int i = 0 ; i < y-2 ; i ++) cout<<1; for(int i = 0 ; i < z ; i ++) cout<<0; cout<<1; for(int i = 0 ; i < x-z-1 ; i ++) cout<<0; cout<<endl; } }else{ cout<<"No"<<endl; } } } return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。