Codeforces Round #576 (Div. 2)

Codeforces Round #576 (Div. 2)

A

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

const int MAXN=1e5+100;
int a[MAXN];
int b[MAXN];
int main()
{
int n,x,y;
int minn=1e9+100;
int mini=0;
scanf("%d %d %d",&n,&x,&y);

for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
if(a[i]<minn){
minn=a[i];
mini=i;
}
}
int flaa=0;
for(int i=1;i<=n;i++){
int flag=1;
for(int j=max(i-x,1);j<=min(n,i+y);j++){
if(j!=i){
if(a[i]<a[j]){
flag=1;
continue;
}else{
//cout<<a[j]<<endl;
flag=0;
break;
}
}
}
if(flag){
printf("%d",i);
flaa=1;
break;
}
}
if(flaa==0){
printf("%d",mini);
}
return 0;
}

B

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

int main()
{
double h,l;
double a;
scanf("%lf %lf",&h,&l);
a=(l*l-h*h)*1.0/(h*2.0);

printf("%.13f",a);

return 0;
}

C

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

const int MAXN=4e5+100;
map<int,int> mapp;
int b[MAXN];
int quick_pow(int a,int b,int mod=1e9)
{
int ret=1;
while(b)
{
if(b&1) ret=ret*a%mod;
a=a*a%mod;
b=b/2;
}
return ret;
}
int main()
{
int n,ii;
int kk;
int tot=0;
scanf("%d %d",&n,&ii);
for(int i=1;i<=n;i++){
int xx;
//scanf("%d",&xx);
if(mapp[xx]==0){
b[tot++]=xx;
}
mapp[xx]++;
}
kk=8*ii/n;
if(kk>=19){
printf("0\n");
return 0;
}
int k=quick_pow(2,kk);
if(tot<=k){
printf("0\n");
return 0;
}
sort(b,b+tot);
int ans=0;
for(int i=0;i<k;i++){
ans+=mapp[b[i]];
}
//cout<<"tot="<<tot<<endl;
//cout<<"k="<<k<<endl;
//cout<<"ans="<<ans<<endl;
int anss=ans;
for(int i=1;i<tot-1;i++){
ans=ans-mapp[b[i-1]]+mapp[b[i+kk-1]];
anss=max(anss,ans);
//cout<<anss<<endl;
}
cout<<n-anss<<endl;
return 0;
}

D

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

const int MAXN=2e5+100;
int a[MAXN];
int x[MAXN];
int lvis[MAXN];
int maxx[MAXN];
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++){
lvis[i]=-1;
scanf("%d",&a[i]);
}
int q;
scanf("%d",&q);
int f,p,xx;
for(int i=0;i<q;i++){
scanf("%d",&f);
if(f==1){
scanf("%d %d",&p,&xx);
a[p]=xx;
lvis[p]=i;
}else{
scanf("%d",&x[i]);
}
}
maxx[q]=x[q];
for(int i=q-1;i>=0;i--){
maxx[i]=max(maxx[i+1],x[i]);
//cout<<"@@"<<maxx[i]<<endl;
}
for(int i=1;i<=n;i++){
cout<<max(a[i],maxx[lvis[i]+1])<<" ";
}

return 0;
}



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