感冒人数 = 病原体左边大于0的数量 + 病原体右边小于0 +1(病原体自己) #include <iostream> #include <deque> #include <string> #include <iterator> #include <vector> #include <numeric> #include <cmath> #include <cstdlib> #include <sstream> #include <iomanip> #include <algorithm> #include <string.h> using namespace std; bool compare(int a,int b) { return abs(a)<abs(b); } int main() { int n; int num; deque<int> q; cin>>n; for(int i=0;i<n;i++) { cin>>num; q.push_back(num); } int k; int count=0; int temp=q[0]; deque<int> t; sort(q.begin(),q.end(),compare); for(int i=0;i<n;i++) { if(q[i]==temp) { k=i; } } for(int i=0;i<k;i++) { if(q[i]>0) { count++; } } for(int i=k+1;i<n;i++) { if(q[i]<0) { count++; } } cout<<count+1<<endl; return 0; }
解题思路:
注意事项:
参考代码:
0.0分
0 人评分