Advertisement
jeff69

Untitled

Jan 31st, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1.  
  2. #include <iomanip>
  3. #include <iostream>
  4. #include <functional>
  5. #include <algorithm>
  6. using namespace std;
  7.  
  8. //20000000 10000000
  9.  
  10. long long x[300000];
  11.  
  12. long long y[300000];
  13. int f[300000];
  14. int factor(int x){
  15.  
  16. return x*x - (x*(x + 1)) / 2;;
  17.  
  18. }
  19. int main(){
  20. int n;
  21.  
  22. cin >> n;
  23. long long k = 0;
  24. for (int i = 0; i < n; i++){
  25. cin >> x[i];
  26. cin >> y[i];
  27. }
  28. int t[300000];
  29. for (int i = 0; i < 2500; i++){
  30.  
  31. t[i] = 0;
  32. }
  33. for (int i = 0; i < n; i++){
  34.  
  35. f[i] = y[i] - x[i];
  36.  
  37. }
  38. sort(f, f + n);
  39. int j = 0;
  40. for (int i = 0; i < n - 1; i++){
  41. if (f[i] == f[i + 1]){
  42. t[j] = t[j]++;
  43.  
  44. }
  45. else j++;
  46. }
  47. long long g = 0;
  48. for (int i = 0; i <= j; i++){
  49. g = g + factor(t[i] + 1);
  50. }
  51.  
  52.  
  53. for (int i = 0; i < n; i++){
  54. y[i] = -y[i];
  55.  
  56.  
  57. }for (int i = 0; i < n; i++){
  58.  
  59. f[i] = y[i] - x[i];
  60.  
  61. }
  62. sort(f, f + n);
  63. j = 0;
  64. for (int i = 0; i < 2000; i++){
  65.  
  66. t[i] = 0;
  67. }
  68. for (int i = 0; i < n - 1; i++){
  69. if (f[i] == f[i + 1]){
  70. t[j] = t[j]++;
  71.  
  72. }
  73. else j++;
  74. }
  75.  
  76. for (int i = 0; i <= j; i++){
  77. g = g + factor(t[i] + 1);
  78. }
  79.  
  80.  
  81.  
  82.  
  83.  
  84. cout << g;
  85.  
  86.  
  87.  
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement