有没有佬看看下面这个代码为啥E题能过,D题过不了啊

#include <bits/stdc++.h>

#define int long long

using namespace std;

int f[200001],a[200001];

int qian[200001];

vector<int>pos[200001];

int posf=1;

signed main(){

int n,m;

scanf("%lld%lld",&n,&m);

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

scanf("%lld",&f[i]);

qian[i]=f[i]+qian[i-1];

}

while(m--){

int flag;

cin>>flag;

if(flag==1){

int l,r;

scanf("%lld%lld",&l,&r);

bool found=0;

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

if(l<=pos[i][1]&&l>=pos[i][0]){

pos[i][1]=max(pos[i][1],r);

found=1;

break;

}

else if(r<=pos[i][1]&&r>=pos[i][0]){

pos[i][0]=min(pos[i][0],l);

found=1;

break;

}

}

if(found==0){

pos[posf].push_back(l);

pos[posf].push_back(r);

posf++;

}

}

else{

int v;

scanf("%lld",&v);

bool found=0;

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

if(v<=pos[i][1]&&v>=pos[i][0]){

int f1=(qian[pos[i][1]]-qian[pos[i][0]-1]);

int f2=(pos[i][1]-pos[i][0]+1);

long double iq1=(long double)f1;

long double iq2=(long double)f2;

printf("%.10Lf\n",iq1/iq2);

found=1;

break;

}

}

if(found==0){

printf("%lld\n",f[v]);

}

}

}

return 0;

}

全部评论

相关推荐

Beeee0927:是缅甸园区吗
点赞 评论 收藏
分享
06-13 10:15
门头沟学院 Java
想去夏威夷的大西瓜在...:我也是27届,但是我现在研一下了啥项目都没有呀咋办,哎,简历不知道咋写
点赞 评论 收藏
分享
06-20 17:42
东华大学 Java
凉风落木楚山秋:要是在2015,你这简历还可以月入十万,可惜现在是2025,已经跟不上版本了
我的简历长这样
点赞 评论 收藏
分享
07-10 11:08
门头沟学院 Java
Sairus:我注册都注册不了提醒我手机号二次啥的,果然对于人才推得就是快,像我投完了就没回音的
投递京东等公司9个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务