Codeforces Round #574 (Div. 2)

Codeforces Round #574 (Div. 2)

A

# include <bits/stdc++.h>
using namespace std;

const int MAXN=1e3+100;
int a[MAXN];
int main()
{
int n,k;
int sum=0;
scanf("%d %d",&n,&k);
for(int i=1;i<=n;i++){
int aa;
scanf("%d",&aa);
a[aa]++;
}

int b;
if(n%2==0) b=n/2;
else b=n/2+1;

int c;
for(int i=1;i<=k;i++){
if(a[i]!=1){
c=a[i]/2;
if(c<=b){
sum+=c*2;
a[i]=a[i]/2*2;
b=b-c;
}else{
sum+=b*2;
a[i]=a[i]-b*2;
b=0;
break;
}
}
}

//cout<<"@@@"<<sum<<endl;
if(b){
for(int i=1;i<=k;i++){
if(b){
if(a[i]){
sum+=1;
a[i]=0;
b--;
}
}
}
}

printf("%d",sum);
return 0;
}

B

# include <bits/stdc++.h>
using namespace std;

typedef long long LL;
int main()
{
LL n,k;
scanf("%lld %lld",&n,&k);

LL sum=0;
sum=(sqrt(9+8*(n+k))-3)/2;

printf("%lld",n-sum);
return 0;
}

C

# include <bits/stdc++.h>
using namespace std;

const int MAXN=1e5+100;
typedef long long LL;
LL h1[MAXN];
LL h2[MAXN];
LL f[MAXN][3];
int main()
{
int n;
scanf("%d",&n);

for(int i=1;i<=n;i++){
scanf("%lld",&h1[i]);
}

for(int i=1;i<=n;i++){
scanf("%lld",&h2[i]);
}

for(int i=1;i<=n;i++){

f[i][1]=max(f[i-1][0],f[i-1][2])+h1[i];
f[i][2]=max(f[i-1][0],f[i-1][1])+h2[i];
f[i][0]=max(max(f[i-1][0],f[i-1][1]),f[i-1][2]);
}

cout<<max(max(f[n][0],f[n][1]),f[n][2]);
return 0;
}

D

# include <bits/stdc++.h>
using namespace std;

const int MAXN=1e5+100;
typedef long long LL;
LL a[MAXN];
LL mod=998244353;
int main()
{
int n;
LL ans=0;
LL sum=0;
scanf("%d",&n);

for(int i=1;i<=n;i++){
scanf("%lld",&a[i]);
int b=11;
while(a[i]){
ans=(ans+(b*(a[i]%10))%mod)%mod;
b=((b%mod)*100)%mod;
a[i]=a[i]/10;
//cout<<b<<endl;
//cout<<"@@@"<<ans<<endl;
}
//cout<<ans<<endl;
sum=(sum%mod+ans)%mod;
ans=0;
}/*
for(int i=1;i<=n;i++){
LL t=11;
while(a[i]>0) ans=(1ll*a[i]%10*t)%mod,t=t*100%mod,a[i]=a[i]/10;
cout<<ans<<endl;
}*/
sum=(n*sum)%mod;

printf("%lld",sum);
return 0;
}



posted @ 2022-02-26 22:51  fengzlj  阅读(133)  评论(0)    收藏  举报