fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define endl '\n'
  4. #define int long long
  5. const int MOD = pow(10,9)+7;
  6. const int MOD2 = 998244353;
  7. const int INF = LLONG_MAX/2;
  8.  
  9. int primes[1000000];
  10.  
  11. void seive(){
  12. fill(primes, primes + 1000000, 1);
  13. primes[0] = primes[1] = 0;
  14. for(int i = 2 ; i*i < 1000000 ; i++){
  15. if(primes[i]){
  16. for(int j = i*i ; j < 1000000 ; j += i){
  17. primes[j] = 0;
  18. }
  19. }
  20. }
  21. for(int i = 1 ; i < 1000000 ; i++){
  22. primes[i] += primes[i-1];
  23. }
  24. }
  25. int factorial(int n){
  26. if(n==0){
  27. return 1;
  28. }
  29. return (n*(factorial(n-1)))%MOD;
  30. }
  31. bool isPrime(int n){
  32. if(n <= 1) return false;
  33. for(int i = 2 ; i*i <= n ; i++){
  34. if(n % i == 0) return false;
  35. }
  36. return true;
  37. }
  38.  
  39. int power(int a, int b){
  40. if(b == 0) return 1;
  41. a %= MOD;
  42. int value = power(a, b / 2);
  43. if(b % 2 == 0){
  44. return (value * value) % MOD;
  45. } else {
  46. return ((value * value) % MOD * (a % MOD)) % MOD;
  47. }
  48. }
  49.  
  50. int gcd(int a, int b){
  51. if(a == 0) return b;
  52. return gcd(b % a, a);
  53. }
  54. void dfs(int node , vector<int>A[] , int visited[] , int sum[] , int parent[] , int values[]){
  55. visited[node] = 1;
  56. for(auto node1 : A[node]){
  57. if(!visited[node1]){
  58. parent[node1] = node;
  59. dfs(node1,A,visited,sum,parent,values);
  60. }
  61. }
  62. int s = 0;
  63. for(auto node1 : A[node]){
  64. if(parent[node]!=node1){
  65. s = max(s,sum[node1]);
  66. }
  67. }
  68. sum[node] = values[node]+s;
  69. }
  70. bool comp(pair<int,int>a , pair<int,int>b){
  71. return (a.first-a.second)>(b.first-b.second);
  72. }
  73. void solve() {
  74. int n;
  75. cin>>n;
  76. vector<pair<int,int>>v(n);
  77. for(int i = 0 ; i<n ; i++){
  78. cin>>v[i].first>>v[i].second;
  79. }
  80. sort(v.begin(),v.end(),comp);
  81. int sum = 0;
  82. for(int i = 0 ; i<n ; i++){
  83. int a = (v[i].second*n)-(v[i].first);
  84. int b = (v[i].first-v[i].second)*(i+1);
  85. sum += (a+b);
  86. }
  87. cout<<sum<<endl;
  88. }
  89.  
  90. signed main(){
  91. ios::sync_with_stdio(false); cin.tie(NULL);
  92. //int t;
  93. //cin >> t;
  94. //while(t--){
  95. solve();
  96. //}
  97. return 0;
  98. }
Success #stdin #stdout 0.01s 5280KB
stdin
10
5 10
12 4
31 45
20 55
30 17
29 30
41 32
7 1
5 5
3 15
stdout
1423