제출 #890853

#제출 시각아이디문제언어결과실행 시간메모리
890853Muhammad_AneeqPairs (IOI07_pairs)C++17
35 / 100
4058 ms524288 KiB
/* بسم الله الرحمن الرحيم Author: (:Muhammad Aneeq:) */ #include <iostream> #include <map> #include <set> #include <vector> using namespace std; #define int long long int dis(vector<int>&a,vector<int>&b) { int z=0; for (int j=0;j<b.size();j++) z+=abs(a[j]-b[j]); return z; } int const N=75e6+10; int cnt[N]={}; int d(vector<int>&a) { int z=0; for (int i=0;i<a.size();i++) z=z*26+a[i]; return z; } inline void solve() { long long B,N,D,M; cin>>B>>N>>D>>M; int a[N][B]; for (int i=0;i<N;i++) { for (int j=0;j<B;j++) cin>>a[i][j]; } int ans=0; set<vector<int>>s; for (int i=0;i<N;i++) { vector<int>g; for (int j=0;j<B;j++) g.push_back(a[i][j]); cnt[d(g)]++; s.insert(g); } vector<vector<int>>z={begin(s),end(s)}; for (int i=0;i<z.size();i++) { int g=cnt[d(z[i])]; ans+=(g*(g-1))/2; for (int j=i+1;j<z.size();j++) { int di=dis(z[i],z[j]); if (di<=D) ans+=cnt[d(z[i])]*cnt[d(z[j])]; } } cout<<ans<<endl; } signed main() { ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); solve(); }

컴파일 시 표준 에러 (stderr) 메시지

pairs.cpp: In function 'long long int dis(std::vector<long long int>&, std::vector<long long int>&)':
pairs.cpp:15:17: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   15 |   for (int j=0;j<b.size();j++)
      |                ~^~~~~~~~~
pairs.cpp: In function 'long long int d(std::vector<long long int>&)':
pairs.cpp:24:17: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |   for (int i=0;i<a.size();i++)
      |                ~^~~~~~~~~
pairs.cpp: In function 'void solve()':
pairs.cpp:49:17: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::vector<long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   49 |   for (int i=0;i<z.size();i++)
      |                ~^~~~~~~~~
pairs.cpp:53:21: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::vector<long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |     for (int j=i+1;j<z.size();j++)
      |                    ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...