답안 #299856

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
299856 2020-09-15T21:27:06 Z mohamedsobhi777 별들과 삼각형 (IZhO11_triangle) C++14
0 / 100
3 ms 384 KB
#include<bits/stdc++.h>

/*
#pragma GCC optimize("-Ofast")
//#pragma GCC optimize("trapv")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,sse4.2,popcnt,abm,mmx,avx2,tune=native")
#pragma GCC optimize("-ffast-math")
#pragma GCC optimize("-funroll-loops")*/

#define I inline void 
#define S struct 
#define vi vector<int> 
#define vii vector<pair<int,int>>
#define pii pair<int,int>
#define pll pair<ll,ll>

using namespace std ; 
using ll = long long ; 
using ld = long double ; 

const int N = 5e5 + 7 , mod = 1e9 + 7 ; 
const int inf = N ; 
// How interesting!

int n; 
map<int,int> oxx ;
map<int,int> sumx ;  

int main(){
        ios_base::sync_with_stdio(0) ; 
        cin.tie(0) ;
        freopen("triangles.in" , "r" , stdin) ;
        freopen("triangles.out" , "w" , stdout) ;

        int n ;
        cin >> n; 

        vector<pair<int,int>> v ;
        for(int i = 0 ;i < n;i++){
                int x , y; 
                cin >> x >> y ;
                v.push_back({y , x}) ;
                oxx[x] ++ ;
        }

        sort(v.begin() , v.end()) ;

        int ly = -2e9 ; 
        ll sum = 0 ;
        ll ans = 0 ; 
        for(int i = 0 ; i < n; i ++){   
                if(ly == v[i].first){
                        ans += sumx[v[i].first] ;
                }  
                sumx[v[i].first] += oxx[v[i].second] -1 ; 
                ly = v[i].first ; 
        }
        sumx.clear() ;
        ly = -2e9 ; 

        for(int i = 0 ;i < n;i ++ )
                v[i].second *= -1 ;
        sort(v.begin() , v.end()) ;

        for(int i = 0 ; i < n; i ++){   
                if(ly == v[i].first){
                        ans += sumx[v[i].first] ;
                }  
                sumx[v[i].first] += oxx[-v[i].second] - 1 ; 
                ly = v[i].first ; 
        }

        cout<< ans; 
        return 0 ; 
}

Compilation message

triangle.cpp: In function 'int main()':
triangle.cpp:49:12: warning: unused variable 'sum' [-Wunused-variable]
   49 |         ll sum = 0 ;
      |            ^~~
triangle.cpp:32:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   32 |         freopen("triangles.in" , "r" , stdin) ;
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
triangle.cpp:33:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   33 |         freopen("triangles.out" , "w" , stdout) ;
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -