# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1097608 | 2024-10-07T15:56:49 Z | StefanSebez | Semiexpress (JOI17_semiexpress) | C++14 | 0 ms | 348 KB |
#include <bits/stdc++.h> using namespace std; #define fi first #define se second #define pb push_back #define ll long long #define ld long double ll A,B,C; ll T; ll a[3050]; ll ind[3050]; ll Sledeci(int i){ if(T-(ind[i]-a[i])*C-(a[i]-a[1])*B<0) return 0; ll j=(T-(ind[i]-a[i])*C-(a[i]-a[1])*B)/A+ind[i]; j=min(j,a[i+1]-1); return j+1; } int main(){ int n,m,K;scanf("%i%i%i",&n,&m,&K); K-=m; scanf("%lld%lld%lld",&A,&B,&C); scanf("%lld",&T); for(int i=1;i<=m;i++) scanf("%lld",&a[i]); set<pair<int,int>>st; ll res=-1; a[m+1]=n+1; for(int i=1;i<=m;i++){ ind[i]=a[i]; //(j-ind[i])*A+(ind[i]-a[i])*C+(a[i]-a[1])*B<=T /*ll j=(T-(ind[i]-a[i])*C-(a[i]-a[1])*B)/A; j=min(j,a[i+1]); res+=j-ind[i]+1; if(j<a[i+1]) st.insert({j-a[i],i});*/ ll j=Sledeci(i);if(j==0) continue; /*if(T-(ind[i]-a[i])*C-(a[i]-a[1])*B<0) continue; ll j=(T-(ind[i]-a[i])*C-(a[i]-a[1])*B)/A+ind[i]; j=min(j,a[i+1]-1);*/ res+=j-ind[i]; ind[i]=j; } //printf("%lld\n",res); for(int i=1;i<m&&K>0;K--){ ll j=Sledeci(i);if(j==0){i++;continue;K++;} /*if(T-(ind[i]-a[i])*C-(a[i]-a[1])*B<0){i++;continue;} ll j=(T-(ind[i]-a[i])*C-(a[i]-a[1])*B)/A+ind[i]; j=min(j,a[i+1]-1);*/ //printf("%i: %lld %lld %lld %lld %lld\n",i,j,ind[i],(ind[i]-a[i]),(a[i]-a[1]),T-(ind[i]-a[i])*C-(a[i]-a[1])*B); res+=j-ind[i]; ind[i]=j; if(ind[i]==a[i+1]) i++; } printf("%lld\n",res); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Incorrect | 0 ms | 348 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Incorrect | 0 ms | 348 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Incorrect | 0 ms | 348 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |