제출 #1265448

#제출 시각아이디문제언어결과실행 시간메모리
1265448thenpc3개의 봉우리 (IOI25_triples)C++20
0 / 100
2094 ms3396 KiB
#include <bits/stdc++.h>
#include "triples.h"
using namespace std;
#define ll long long
ll n,a[200005];
ll count_triples(vector<int> v){
  ll n=v.size();
  for(int i=1;i<=n;i++){
    a[i]=v[i-1];
  }
  ll ans=0;
  for(int i=1;i<=n;i++){
    for(int j=i+1;j<=n;j++){
      int d[4]={j+a[j],i+a[i],a[i]+j,a[j]+i};
      for(int k=0;k<4;k++){
        if(d[k]<=0||d[k]>n){
          continue;
        }
        
        ll b[4]={d[k]-j,d[k]-i,j-i};
        ll c[4]={a[i],a[j],a[d[k]]};
        sort(b,b+3);
        sort(c,c+3);
        int sol=1;
        for(int l=0;l<3;l++){
          if(b[l]!=c[l]){
            sol=0;
          }
        }
        ans+=sol;
      }
    }
  }
  return ans;
}
vector<int> construct_range(int m,int k){
  return {1};
}

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

triples.cpp: In function 'long long int count_triples(std::vector<int>)':
triples.cpp:14:18: warning: narrowing conversion of '(((long long int)j) + a[j])' from 'long long int' to 'int' [-Wnarrowing]
   14 |       int d[4]={j+a[j],i+a[i],a[i]+j,a[j]+i};
      |                 ~^~~~~
triples.cpp:14:25: warning: narrowing conversion of '(((long long int)i) + a[i])' from 'long long int' to 'int' [-Wnarrowing]
   14 |       int d[4]={j+a[j],i+a[i],a[i]+j,a[j]+i};
      |                        ~^~~~~
triples.cpp:14:35: warning: narrowing conversion of '(a[i] + ((long long int)j))' from 'long long int' to 'int' [-Wnarrowing]
   14 |       int d[4]={j+a[j],i+a[i],a[i]+j,a[j]+i};
      |                               ~~~~^~
triples.cpp:14:42: warning: narrowing conversion of '(a[j] + ((long long int)i))' from 'long long int' to 'int' [-Wnarrowing]
   14 |       int d[4]={j+a[j],i+a[i],a[i]+j,a[j]+i};
      |                                      ~~~~^~
#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...