#include <cmath> #include <cstring> #include <cstdio> #include <vector> #include <string> #include <algorithm> #include <string> #include <map> #include <set> using namespace std; #define MAXN 200010 #define LEN 1000000 #define INF 1e9+7 #define MODE 1000000 #define pi acos(-1) #define g 9.8 typedef long long ll; int n; double h,l1,r1,l2,r2; double v[MAXN]; int solve(double a) { int cnt=0; for(int i=0;i<n;i++){ double t=(sqrt(v[i]*v[i]*sin(a)*sin(a)+2*g*h)+v[i]*sin(a))/g; double x=v[i]*cos(a)*t; if(x>=l2&&x<=r2) { return 0; } if(x>=l1&&x<=r1) cnt++; } return cnt; } int main() { while(scanf("%d",&n)) { if(n==0) break; scanf("%lf%lf%lf%lf%lf",&h,&l1,&r1,&l2,&r2); for(int i=0;i<n;i++) scanf("%lf",v+i); int maxn=0; for(double i=-pi/2;i<=pi/2;i+=pi/1000) { maxn=max(solve(i),maxn); } printf("%d\n",maxn); } return 0; } |
Double click to view unformatted code.