1.https://codeforces.com/problemset/problem/1691/A https://codeforces.com/problemset/problem/1691/A
/*1691A*/
/*
AC
题号:https://codeforces.com/problemset/problem/1691/A
思路:两个两个的向后遍历,如果和为奇数,
删除后一个数再这样往复判断
*/
#include<bits/stdc++.h>
using namespace std;
int a[100010];
int n;
int main()
{
// freopen(".in","r",stdin);
// freopen(".out","w",stdout);
int t;//多测模板
cin>>t;
while(t--)
{
a[0]=a[1]=0;//初始化
cin>>n;
for(int i=0;i<n;i++)
{
int c;
cin>>c;//输如c
a[c%2]++;//c%2位++
}
printf("%d\n",n-max(a[0],a[1]));//比较结果,再输出
}
return 0;
}
2.https://codeforces.com/problemset/problem/1691/Bhttps://codeforces.com/problemset/problem/1691/B
/*1691B*/
/*
AC
题号:https://codeforces.com/problemset/problem/1691/B
思路:判处特例,如果a[i]==a[i+1]||a[i]==a[i-1],
如果不成立,输出-1;否则按照:
cin>>n;
for(i到n-1(长度))
{
cout<<i<<' ';
}
cout<<endl;
的方法输出结果。
*/
#include<bits/stdc++.h>
using namespace std;
int a[100000000];
int n;
int main()
{
// freopen(".in","r",stdin);
// freopen(".out","w",stdout);
int l;
cin>>l;
while(l--)
{
//输入
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
//判特例
bool f=true;
for(int i=1;i<=n-1;i++)
{
if(a[i]!=a[i+1]) f=false;
}
if(f==true)//如果成立,输出结果
{
cout<<n<<' ';
for(int i=1;i<=n-1;i++)
{
cout<<i<<' ';
}
cout<<endl;
}
else//如果不成立,输出-1
{
cout<<"-1";
}
}
return 0;
}
3.https://codeforces.com/problemset/problem/1681/B https://codeforces.com/problemset/problem/1681/B
/*1681B*/
/*
AC
题号:https://codeforces.com/problemset/problem/1681/B
思路:以sum%n为一轮正常按题意处理即可
*/
#include<bits/stdc++.h>
using namespace std;
int main()
{
// freopen(".in","r",stdin);
// freopen(".out","w",stdout);
//输如结果
int l;
cin>>l;
while(l--)
{
int n;
cin>>n;
vector<int>a(n);
for(int i=0;i<n;i++)
{
cin>>a[i];
}
int m;
cin>>m;
vector<int>b(m);
for(int j=0;j<m;j++)
{
cin>>b[j];
}
//
long long sum=0;
for(int j=0;j<m;j++)
{
sum+=b[j];//正常处理
}
cout<<a[sum%n]<<endl;//输出结果,注意以n为一轮
}
return 0;
}