제출 #826418

#제출 시각아이디문제언어결과실행 시간메모리
826418KnightAddk (eJOI21_addk)C++14
0 / 100
2025 ms1248 KiB
#include <iostream> #include <algorithm> using namespace std; int main() { int N, K, l, r, m, S; int tempArr[4]; int *A; cin >> N >> K; A = new int[N]; int Temp; for(int i = N;i>0;i--){ cin >> Temp; A[N-i] = Temp; } int Q; cin >> Q; int *permList; permList = new int[K]; int extraTemp; for(int t = Q;t>0;t--){ int type; cin >> type; switch (type){ case 1: if(K!=1){ for(int i=0;i<K;i++){ cin >> Temp; permList[i] = Temp-1; } Temp = A[permList[0]]; for(int i=K-1;i>=0;i--){ extraTemp = Temp; Temp = A[permList[i]]; A[permList[i]] = extraTemp; } }else{ cin >> Temp; } /*for(int i = 0;i<N;i++){ cout << A[i] << ' ';8 } cout << '\n';*/ break; case 2: cin >> l >> r >> m; //cout << l << ' ' << r << '\n'; S = 0; for(int i=l-1;i<r;i++){ tempArr[0]=i-l+2; tempArr[1]=m; tempArr[2]=r-i; tempArr[3]=r-l-m+2; S+=A[i]*(*std::min_element(std::begin(tempArr), std::end(tempArr))); //cout << S << '\n'; } cout << S << endl; } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...