@root怎么做?????

lhy221 嘴强王者 2025-10-26 14:21:00 6

#include <bits/stdc++.h> using namespace std; int main() { int n[100009],a=0,b=0,c,d; cin>>d; for(int i=1;i<=d;i++){ cin>>n[i]; if(i>a){ a=i; } } for(int i=1;i<=d;i++){ if(i<b){ b=i; } } cout<<b<<" "<<a; return 0; }

{{ vote && vote.total.up }}

共 5 条回复

lhy221 嘴强王者

改了之后输出了-1和5 #include <bits/stdc++.h> using namespace std; int main() { int n[100009],c,d; cin>>d; int a=-100001; int b=100001; for(int i=1;i<=d;i++){ cin>>n[i]; if(i>a){ a=n[i]; } } for(int i=1;i<=d;i++){ if(i<b){ b=n[i]; } } cout<<b<<" "<<a; return 0; }

wc022 CSP-J2二等

还有你这个代码我改了之后发现你还有个错误,a=-100001,b=100001,请看看数据范围

wc022 CSP-J2二等

@lhy221

站长的意思是: if(i>a){ a=i;}这里错了

这块应该是这样的:if(n[i]>a){ a=n[i];}

这一块也是犯了同一个错误:if(i<b){ b=i; } (根据上面哪里自行更正)

lhy221 嘴强王者

听不懂思密达

root 站长

n[i] 参与比较大小,而不是i