QOJ.ac

QOJ

Límite de tiempo: 3 s Límite de memoria: 512 MB Puntuación total: 100

#854. Archer Vlad

Estadísticas

Vlad était un étudiant exemplaire connu pour ses aventures exceptionnelles, dont beaucoup ont été préservées sous forme de problèmes pour des concours de programmation. Mais une vie si agitée avait un peu trop épuisé Vlad. « Partout où je vais, il n'y a que des problèmes ! J'en ai assez ! » a-t-il annoncé, juste avant de quitter l'université, en direction des montagnes de Bieszczady.

Vlad a loué une petite cabane, dans laquelle il a passé les premiers mois de ses vacances. Mais bientôt, l'ennui a commencé à le gagner, alors Vlad a décidé de se trouver un passe-temps : il a acheté un arc, quelques flèches et a commencé sa pratique quotidienne du tir à l'arc. Et après quelques mois d'entraînement intensif, Vlad a atteint des résultats très satisfaisants, car il était capable de tirer une flèche avec une vitesse étonnante de $C$ mètres par seconde. Mais il était difficile de profiter de tels accomplissements sans personne autour.

« Regarde ça ! Je vais me tenir juste ici et tirer une flèche si rapidement qu'elle va survoler chacun de ces arbres ! » s'est exclamé Vlad à votre intention, vous qui êtes un jeune programmeur ayant décidé de lui rendre visite. Vlad a tendu l'arc et a tiré la première flèche. Ses plumes oscillaient dans l'air, sa pointe brillait dans le ciel... mais elle a heurté un arbre. « Attends, laisse-moi réessayer ! »

Sa deuxième tentative fut encore plus spectaculaire que la première. Mais cette flèche n'a pas non plus réussi à trouver son chemin hors de la forêt. « Une dernière fois ! » a crié Vlad, en tendant à nouveau la main vers le sac. Puis vous l'avez arrêté. Craignant que Vlad ne soit à court de flèches, vous avez décidé de trouver un angle optimal sous lequel il devrait viser. Et c'est ainsi que vous avez sorti l'ordinateur de votre sac à dos, prêt à résoudre ce problème dans le style UJ TCS.

Vlad se tient sur un plan cartésien au point $(0, 0)$. Les points $(0, 1)$ et $(1, 0)$ sont précisément à 1 mètre de Vlad. Il y a $N$ arbres numérotés de $1$ à $N$, et l'arbre numéro $i$ est représenté par un segment vertical reliant les points $(x_i, 0)$ et $(x_i, y_i)$ pour certains entiers positifs $x_i$ et $y_i$. Lorsque Vlad tire à un angle $\alpha$, cela donne à sa flèche une vitesse horizontale initiale $v_x$ égale à $C \cdot \cos(\alpha)$ et une vitesse verticale initiale $v_y = C \cdot \sin(\alpha)$. La flèche n'est pas affectée par la résistance de l'air et sa trajectoire est une parabole (pour être précis, sa vitesse horizontale $v_x$ reste constante tout au long du vol, tandis que $v_y$ diminue linéairement avec une perte par seconde égale à $g$), contenant le point $(0, 0)$. Nous supposons que l'accélération due à la gravité est $g = 10 \, \text{m/s}^2$. L'objectif de Vlad sera atteint si la trajectoire de la flèche qu'il a tirée ne coupe aucun des arbres (ou plus précisément les intervalles les représentant) en aucun point. De plus, la trajectoire de la flèche doit couper l'axe des $x$ en un point qui a une coordonnée $x$ supérieure à celle de n'importe quel arbre.

Donnez une valeur possible de $\tan(\alpha)$ qui permet à Vlad de remplir ces conditions.

Entrée

La première ligne de l'entrée contient le nombre de cas de test $z$. Les descriptions des cas de test suivent.

La première ligne de chaque cas consiste en un entier $1 \le C \le 10^9$ qui est la vitesse de la flèche de Vlad en mètres/seconde.

La deuxième ligne de chaque cas contient un entier unique $1 \le N \le 100\,000$ – le nombre d'arbres.

Pour chaque cas, les $N$ lignes suivantes contiennent deux entiers $x_i, y_i$ ($1 \le x_i, y_i \le 10^9$) chacune. Le $i$-ième arbre est représenté par un segment vertical entre les points $(x_i, 0)$ et $(x_i, y_i)$.

La somme de $N$ sur tous les cas de test ne dépasse pas $300\,000$.

Sortie

Pour chaque cas, affichez un nombre unique avec exactement 3 chiffres après la virgule. Il doit approximer l'une des valeurs correctes de $\tan(\alpha)$ avec une erreur ne dépassant pas $10^{-3}$. Vous pouvez supposer que les solutions existent toujours, et que toute valeur correcte de $\tan(\alpha)$ est contenue dans un intervalle de solutions de longueur au moins $10^{-2}$.

Exemples

Entrée 1

3
5
1
1 1
5
1
1 1
13
1
7 7

Sortie 1

2.000
3.000
2.429

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.