75分求调
查看原帖
75分求调
1476442
LINK_ccs楼主2025/8/4 21:28

本人75分 #4,6,13,14,20错误

求调

#include<iostream>
#include<vector>
#include<stdio.h>

using namespace std;

const int MAXN=7e6+1e5+10;

int n,m,q,u,v,t;
long long add=0;
int aSize;
vector<long long> a(MAXN);

void up(int zb){
    while(true){
        if(zb<1) break;
        
        int p=zb/2;
        if(a[p]<a[zb]){
            swap(a[p],a[zb]);
            zb=p;
        } else break;
    }
}

void down(int zb){
    while(true){
        if(zb*2>aSize) break;
        
        int c=zb*2;
        if(zb*2+1<=aSize && a[zb*2+1]>a[c])
            c=zb*2+1;
        
        if(a[c]>a[zb]){
            swap(a[zb],a[c]);
            zb=c;
        } else break;
    }
}

int main(){
    scanf("%d%d%d%d%d%d",&n,&m,&q,&u,&v,&t);
    
    for(int i=1;i<=n;i++)
        scanf("%lld",&a[i]);
    
    aSize=n;
    for(int i=n/2;i>=1;i--)
        down(i);
    
    vector<long long> fout;
    
    for(int time=1;time<=m;time++){
        long long maxLong=a[1]+add;
        
        if(time%t==0)
            fout.push_back(maxLong);
        
        long long one=(maxLong*u)/v - add - q;
        long long two=maxLong - (maxLong*u)/v - add - q;
        
        add+=q;
        
        a[1]=a[aSize];
        aSize--;
        down(1);
        
        aSize++;
        a[aSize]=one;
        up(aSize);
        
        aSize++;
        a[aSize]=two;
        up(aSize);
    }
    
    for(size_t i=0;i<fout.size();i++){
        if(i>0) printf(" ");
        printf("%lld",fout[i]);
    }
    printf("\n");
    
    vector<long long> allWorms;
    int tempSize=aSize;
    
    for(int i=1;i<=tempSize;i++){
        allWorms.push_back(a[1]+add);
        a[1]=a[aSize];
        aSize--;
        down(1);
    }
    
    vector<long long> sout;
    for(size_t i=0;i<allWorms.size();i++){
        if((i+1)%t==0)
            sout.push_back(allWorms[i]);
    }
    
    for(size_t i=0;i<sout.size();i++){
        if(i>0) printf(" ");
        printf("%lld",sout[i]);
    }
    printf("\n");
    
    return 0;
}
    
2025/8/4 21:28
加载中...