제출 #1254429

#제출 시각아이디문제언어결과실행 시간메모리
1254429dostsXylophone (JOI18_xylophone)C++20
100 / 100
26 ms436 KiB
#include "xylophone.h" #include <bits/stdc++.h> #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2") //#define int long long #define pii pair<int,int> #define vi vector<int> #define ff first #define ss second #define sp << " " << #define all(x) x.begin(),x.end() #define big(x) ((int)(x.size())) using namespace std; const int MOD = 1e9+7, LIM = 1e6+1, inf = 2e9; void solve(int N) { //eğer oryantasyon aynıysa A[1]..A[3] = A[1]...A[2]+A[2]...A[3] //yön değişimlerini biliom //2 possible çözüm var //ekstra contr bitiriyor vi A(N+1,0); A[1] = 0; int ptr = 1; int cur = 0; int dir = 1; for (int i=2;i<=N;i++) { int k = query(ptr,i); int d = query(i-1,i); if (d+cur == k) cur=k; else { ptr = i-1; cur = d; dir = -dir; } A[i] = A[i-1] +dir*d; } if (min_element(1+all(A)) > max_element(1+all(A))) { for (int i=1;i<=N;i++) A[i] = -A[i]; } int delt = *min_element(1+all(A)); for (int i=1;i<=N;i++) { answer(i,A[i]-delt+1); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...