fork(1) download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.math.*;
  4. import java.io.*;
  5.  
  6. import static java.lang.Math.*;
  7. import static java.util.Arrays.*;
  8.  
  9. public class B{
  10. Scanner sc=new Scanner(System.in);
  11.  
  12. int INF=1<<28;
  13. double EPS=1e-9;
  14.  
  15. int n;
  16. int[] xs, ys, p;
  17.  
  18. void run(){
  19. n=sc.nextInt();
  20. xs=new int[n];
  21. ys=new int[n];
  22. for(int i=0; i<n; i++){
  23. xs[i]=sc.nextInt();
  24. ys[i]=sc.nextInt();
  25. }
  26. solve();
  27. }
  28.  
  29. int check(int k, int i, int y){
  30. int ret=0;
  31. if(p[k]<i-y){
  32. ret=1;
  33. }
  34. p[k]=i;
  35. return ret;
  36. }
  37.  
  38. void solve(){
  39. p=new int[100001];
  40. fill(p, -1);
  41. for(int i=0; i<n; i++){
  42. int ans=0;
  43. for(int k=1; k*k<=xs[i]; k++){
  44. if(xs[i]%k!=0){
  45. continue;
  46. }
  47. ans+=check(k, i, ys[i]);
  48. if(xs[i]/k!=k){
  49. ans+=check(xs[i]/k, i, ys[i]);
  50. }
  51. }
  52. println(ans+"");
  53. }
  54. System.out.flush();
  55. }
  56.  
  57. void println(String s){
  58. System.out.println(s);
  59. }
  60.  
  61. void print(String s){
  62. System.out.print(s);
  63. }
  64.  
  65. void debug(Object... os){
  66. System.err.println(Arrays.deepToString(os));
  67. }
  68.  
  69. public static void main(String[] args){
  70. new B().run();
  71. }
  72. }
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty