제출 #288204

#제출 시각아이디문제언어결과실행 시간메모리
288204NemanjaSo2005Foehn Phenomena (JOI17_foehn_phenomena)C++14
30 / 100
1089 ms7740 KiB
#include<bits/stdc++.h>
#define ll long long
#define LIMIT 7000000
using namespace std;
ll koliko[200005],povecaj,res=0,T,S,N,Q,u1,u2,r1,r2,r3,r4,segmentno[400010];
char buffer[LIMIT],*pos;
ll getll(){
    ll positive=1,number;
    while(*pos!='-' and *pos<48)
        *pos++;
    if(*pos=='-'){
        *pos++;
        positive=-1;
    }
    else positive=1;
    number=*pos-'0';
    *pos++;
    while(*pos>=48){
        number=number*10+*pos-'0';
        *pos++;
    }
    return positive*number;
}
int main(){
    fread(buffer,1,LIMIT,stdin);
    pos=buffer;
    N=getll();
    Q=getll();
    S=getll();
    T=getll();
    N++;
    for(int i=1;i<=N;i++)
        koliko[i]=getll();
    for(int i=1;i<N;i++)
        if(koliko[i]<koliko[i+1])
            res-=S*abs(koliko[i]-koliko[i+1]);
        else res+=T*abs(koliko[i]-koliko[i+1]);
   // cout<<res<<endl;
    while(Q--){
        u1=getll();
        u2=getll();
        povecaj=getll();
        u1++;
        u2++;
        r1=koliko[u1-1];
        r2=koliko[u1];
        r3=koliko[u2];
        r4=koliko[u2+1];
        if(u1!=1){
            if(r1<r2)
                res+=(r2-r1)*S;
            else res-=(r1-r2)*T;
        }
        if(u2!=N){
            if(r3<r4)
                res+=(r4-r3)*S;
            else res-=(r3-r4)*T;
        }
       // cout<<res<<endl;
        for(int i=u1;i<=u2;i++)
            koliko[i]+=povecaj;
        r2+=povecaj;
        r3+=povecaj;
        if(u1!=1){
            if(r1<r2)
                res-=(r2-r1)*S;
            else res+=(r1-r2)*T;
        }
        if(u2!=N){
            if(r3<r4)
                res-=(r4-r3)*S;
            else res+=(r3-r4)*T;
        }
      /*  for(int i=1;i<=N;i++)
            cout<<koliko[i]<<" ";
        cout<<endl;*/
        cout<<res<<endl;
    }
    return 0;
}

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

foehn_phenomena.cpp: In function 'long long int getll()':
foehn_phenomena.cpp:10:9: warning: value computed is not used [-Wunused-value]
   10 |         *pos++;
      |         ^~~~~~
foehn_phenomena.cpp:12:9: warning: value computed is not used [-Wunused-value]
   12 |         *pos++;
      |         ^~~~~~
foehn_phenomena.cpp:17:5: warning: value computed is not used [-Wunused-value]
   17 |     *pos++;
      |     ^~~~~~
foehn_phenomena.cpp:20:9: warning: value computed is not used [-Wunused-value]
   20 |         *pos++;
      |         ^~~~~~
foehn_phenomena.cpp: In function 'int main()':
foehn_phenomena.cpp:25:10: warning: ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   25 |     fread(buffer,1,LIMIT,stdin);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...