제출 #129292

#제출 시각아이디문제언어결과실행 시간메모리
129292josefu_Foehn Phenomena (JOI17_foehn_phenomena)C++14
100 / 100
194 ms7288 KiB
#define SuC_VaT              Doc_code_ban_khac
#define Nhan_cach_bang_0     Doc_code_ban_khac

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
#define int ll
typedef unsigned long long ull;
typedef pair<int,int> ii;
typedef pair<ll, pair<ll,ll> > iii;

const int kn = 2e5 + 5, N = 1e5+5;
const ll mod = 1e9 + 7, mod2 = 1e9+9;
const ll base = 31, base1 = 37;

#define x first
#define y second
#define lwb lower_bound
#define upb upper_bound

//#define pb push_back
//#define popb pop_back
//#define pf push_front
//#define popf pop_front
//
//#define log2(X) (31-__builtin_clz(X))
//#define log2ll(X) (63-__builtin_clzll(X))
//#define numbit(X) __builtin_popcount(X)
//#define numbitll(X) __builtin_popcountll(X)

#define ms(val,a) memset(a,val,sizeof(a))

#define ff(i,n) for(int i=1;i<=n;i++)
#define _ff(i,n) for(int i=n;i>=1;i--)
#define f(i,a,b) for(int i = a; i <=b; i++)
#define _f(i,a,b) for(int i = b; i>=a;i--)

#define In(X) freopen(X,"r",stdin)
#define Out(X) freopen(X,"w",stdout)

#define ios ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

int n, q, s , t;
int a[kn], cur;
int dif[kn];

void solve(int l, int r, int X)
{
	cur -= (dif[l]<0) ? (-t*dif[l]) : (-s*dif[l]);
	if(r<n) cur-= (dif[r+1]<0) ? (-t*dif[r+1]) : (-s*dif[r+1]);
	dif[l] += X; dif[r+1] -= X;
	cur += (dif[l]<0) ? (-t*dif[l]) : (-s*dif[l]);
	if(r<n) cur += (dif[r+1]<0) ? (-t*dif[r+1]) : (-s*dif[r+1]);
}

signed main()
{
	scanf("%lld %lld %lld %lld",&n,&q,&s,&t);
	scanf("%lld",&a[0]);
	ff(i,n)
	{
		scanf("%lld",&a[i]);
		dif[i] = a[i] - a[i-1];
		cur += (dif[i]<0) ? (-t*dif[i]) : (-s*dif[i]);
	}
	//cout << cur << endl;
	while(q--)
	{
		int l, r, X;
		scanf("%lld %lld %lld", &l, &r, &X);
		solve(l,r,X);
		printf("%lld\n",cur);
	}
}

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

foehn_phenomena.cpp: In function 'int main()':
foehn_phenomena.cpp:60:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld %lld %lld %lld",&n,&q,&s,&t);
  ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
foehn_phenomena.cpp:61:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld",&a[0]);
  ~~~~~^~~~~~~~~~~~~~
foehn_phenomena.cpp:64:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld",&a[i]);
   ~~~~~^~~~~~~~~~~~~~
foehn_phenomena.cpp:72:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld %lld %lld", &l, &r, &X);
   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...