시간 제한메모리 제한제출정답맞힌 사람정답 비율
0.5 초 (하단 참고)1024 MB187272222.680%

문제

2019년 송도의 세미나실에서는 오늘도 연세대학교 컴퓨터과학과 학생들이 모여 과제를 하고 있다. 이때 잔뜩 술에 취한 규리(당시 새내기)가 등장해 과제를 시작했다. 규리는 너무 졸린 나머지 아래의 코드를 작성하고 잠이 들었다.

규리의 코드는 맞는 답을 리턴한다. 단지 과제에 주어진 $N$이 너무 컸기 때문에 시간 제한 안에 돌아가지 않을 뿐이다. 당신은 규리의 화면을 바라보다가 불쌍한 규리를 도와주기 위해 규리의 코드를 수정하기로 했다. 당신은 시간 제한 안에 실행되면서, 규리의 코드와 같은 값을 리턴하는 함수를 작성해야 한다.

구현

당신이 작성해야 하는 함수는 다음과 같다.

  • C++11, C++14, C++17, C++20
    vector<long long> calc(const vector<long long>& v, int N) 
    • v : 주어지는 vector $(1 \leq v[i] \leq 1\,000\,000\,000)$
    • N : 주어진 vector의 크기 $(1 \leq N \leq 1\,000\,000)$
    • 리턴값 : 규리의 코드로부터 리턴되는 ans
  • Python3, PyPy3
    def calc(v,N)
    • v : 주어지는 list $(1 \leq v[i] \leq 1\,000\,000\,000)$
    • N : 주어진 list의 크기 $(1 \leq N \leq 1\,000\,000)$
    • 리턴값 : 규리의 코드로부터 리턴되는 ans
  • Java 8, Java 8 (OpenJDK), Java 11, Java 15 : (클래스 이름 : Test)
    static ArrayList<Long> calc(ArrayList<Long> v, int N)
    • v : 주어지는 ArrayList $(1 \leq v[i] \leq 1\,000\,000\,000)$
    • N : 주어진 ArrayList의 크기 $(1 \leq N \leq 1\,000\,000)$
    • 리턴값 : 규리의 코드로부터 리턴되는 ans

첨부

다음 압축 파일에는 규리가 짠 C++, java, python 버전의 코드와 이를 검증할 채점기와 예제 입력이 들어 있다.

제출할 수 있는 언어

C++17, Java 8, Python 3, PyPy3, C++11, C++14, Java 8 (OpenJDK), Java 11, C++20, Java 15

시간 제한

  • Java 8: 2 초
  • Python 3: 3 초
  • PyPy3: 1 초
  • Java 8 (OpenJDK): 2 초
  • Java 11: 2 초
  • Java 15: 2 초

채점 및 기타 정보

  • 예제는 채점하지 않는다.