Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define DEBUG if(1)
- #define MAXN 50500
- #define MAX 500
- #define MAXL 20
- #define MIN -2000000
- #define INF (1 << 30)
- #define MOD 1000000007
- #define s(n) scanf("%d", &n)
- #define ss(a,b) scanf("%d %d",&a,&b)
- #define pb push_back
- #define mp make_pair
- #define sz(a) int(a.size())
- #define lli long long int
- // #define lli unsigned long long int
- #define lb long double
- #define rep(i,a,n) for (int i=a;i<n;i++)
- #define ler(a,n,vec) for(int i=0;i<n;i++)s(a), vec.pb(a)
- typedef vector<int> vi;
- typedef vector<vi> vvi;
- typedef pair<int,int> ii;
- #define F first
- #define S second
- //ios_base::sync_with_stdio(false);
- int dx[] = {0, 0, 1, -1};
- int dy[] = {1, -1, 0, 0};
- int ddx[] = {1, 0};
- int ddy[] = {1, 1};
- int n;
- int a[2510], b[2510], c[2510], d[2510];
- // vi x,y;
- map<int, int> xx,yy;
- vi sum;
- int main(){
- // ios_base::sync_with_stdio(false);
- cin >> n;
- for(int i=0;i<n;i++){
- s(a[i]);
- s(b[i]);
- s(c[i]);
- s(d[i]);
- }
- for(int i=0;i<n;i++){
- for(int j=0;j<n;j++){
- sum.pb(a[i] + b[j]);
- // xx[a[i] + b[j]]++;
- }
- }
- sort(sum.begin(), sum.end());
- int ans = 0;
- for(int i=0;i<n;i++){
- for(int j=0;j<n;j++){
- std::pair<std::vector<int>::iterator,std::vector<int>::iterator> it;
- it = std::equal_range(sum.begin(), sum.end(),-(c[i] + d[j]));
- // cout << c[i] + d[j] << endl;
- // cout << aa << " - " << bb << endl;
- // cout << it.first - sum.begin() << endl;
- ans += it.second - it.first;
- // for(int k=0;k<sz(sum);k++) if(sum[k] == -(c[i] + d[j])) ans ++;
- // ans += it->first - sum.begin();
- // cout << aa << " - " << bb << endl;
- // ans += bb - aa;
- }
- }
- // cout << ans << endl;
- printf("%d\n", ans);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement