牛客小白赛4月12日
A.

#include <bits/stdc++.h>
using namespace std;
int main () {
long long n;
cin >> n;
if (n & 1)
cout << 1 << endl;
else{
cout << -1 << endl;
}
}
B.

#include <bits/stdc++.h>
using namespace std;
string fk(string s)
{
int start=0,length=0;
for(int i=0,j=0,k=0;i<s.size()&&s.size()-i>length/2;i++,j=i,k=i)
{
while(j>0){if(s[j]==s[j-1]){j--;}else break;}
while(k<s.size()-1){if(s[k]==s[k+1]){k++;i=k-1;}else break;}
while(j>0&&k<s.size()-1){if(s[k+1]==s[j-1]){k++;j--;}else break;}
if(length<k-j+1){length=k-j+1;start=j;}
}
return s.substr(start,length);
}
int main(){
string s;
cin>>s;
int n=s.size();
s+=s;
cout<<min(n,(int)fk(s).size())<<endl;
}
D

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 5e6 + 10;
int n;
ll a[N], pre[N], sub[N];
int main() {
scanf("%d", &n);
for(int i = 1 ; i <= n ; ++ i) {
scanf("%lld", &a[i]);
pre[i] = pre[i - 1] | a[i];
}
for(int i = n ; i >= 1 ; -- i) {
sub[i] = sub[i + 1] | a[i];
}
ll ans = 0;
for(int i = 1 ; i <= n ; ++ i) {
ans = max(ans, pre[i - 1] | sub[i + 1]);
}
printf("%lld\n", ans);
}
作者:LightAc
出处:https://www.cnblogs.com/lightac/
联系:
Email: dzz@stu.ouc.edu.cn
QQ: 1171613053
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。

浙公网安备 33010602011771号