#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; }
改了之后输出了-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; }
还有你这个代码我改了之后发现你还有个错误,a=-100001,b=100001,请看看数据范围
@lhy221
站长的意思是: if(i>a){ a=i;}这里错了
这块应该是这样的:if(n[i]>a){ a=n[i];}
这一块也是犯了同一个错误:if(i<b){ b=i; } (根据上面哪里自行更正)
听不懂思密达
n[i] 参与比较大小,而不是i
共 5 条回复
改了之后输出了-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; }
还有你这个代码我改了之后发现你还有个错误,a=-100001,b=100001,请看看数据范围
@lhy221
站长的意思是: if(i>a){ a=i;}这里错了
这块应该是这样的:if(n[i]>a){ a=n[i];}
这一块也是犯了同一个错误:if(i<b){ b=i; } (根据上面哪里自行更正)
听不懂思密达
n[i] 参与比较大小,而不是i