제출 #1069252

#제출 시각아이디문제언어결과실행 시간메모리
1069252n1kSjeckanje (COCI21_sjeckanje)C++17
0 / 110
1 ms348 KiB
#include <bits/stdc++.h>

#if defined(LOCAL)
#include "debug.cpp"
#else
#define debug(x...) 0
#endif // LOCAL

using namespace std;

using ll = long long;

#define all(a) (a).begin(), (a).end()

void solve(){
	int n, q; cin >> n >> q;
	vector<ll> a(n);
	for(int i=0; i<n; i++) cin >> a[i];
	auto get = [&](vector<ll> a){
		debug(a);
		ll ans = 0;
		for(int i=0, j; i<n; i++){
			for(j=i; j<n-1 and a[i]<a[i+1] == a[j]<a[j+1]; j++){
			}
			if(a[j-1]==a[j]) j--;
			if(j==n-2) j++;
			ans+=abs(a[i]-a[j]);
			debug(i, j, a[j-1], a[j]);
			i=j;
		}
		return ans;
	};
	while(q--){
		ll l, r, add;
		cin>>l>>r>>add;
		l--, r--;
		for(int i=l; i<=r;i++) a[i]+=add;
		cout<<get(a)<<endl;
	}
}

int main() {
	cin.tie(0)->sync_with_stdio(0);
	int t=1; //cin >> t;
	while(t--) solve();
}

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

Main.cpp: In lambda function:
Main.cpp:6:21: warning: statement has no effect [-Wunused-value]
    6 | #define debug(x...) 0
      |                     ^
Main.cpp:20:3: note: in expansion of macro 'debug'
   20 |   debug(a);
      |   ^~~~~
Main.cpp:23:27: warning: suggest parentheses around comparison in operand of '==' [-Wparentheses]
   23 |    for(j=i; j<n-1 and a[i]<a[i+1] == a[j]<a[j+1]; j++){
Main.cpp:6:21: warning: statement has no effect [-Wunused-value]
    6 | #define debug(x...) 0
      |                     ^
Main.cpp:28:4: note: in expansion of macro 'debug'
   28 |    debug(i, j, a[j-1], a[j]);
      |    ^~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...