제출 #681601

#제출 시각아이디문제언어결과실행 시간메모리
681601vjudge1Skyscraper (JOI16_skyscraper)C++14
20 / 100
2086 ms1036 KiB
#include <iostream> #include <algorithm> using namespace std; const int N = 100 +2; const int M = 1000 +2; const int mod = 1e9+7; typedef pair<int,int> pii; inline int add(int x, int y) { return (x+y>=mod ? x+y-mod : x+y); } inline int gun(int x, int y) { return ((x*1ll*y)%mod); } int n,l; int a[N]; int dp[N][N][M][3]; bool vis[N][N][M][3]; int solve(int idx, int comps, int sum, int matha) { if(sum > l) return 0; if(comps < 0 || comps >n) return 0; if(comps == 0 && idx>0) return 0; if(matha > 2) return 0; if(idx==n) { if(comps == 1 && matha == 2) return 1; return 0; } int &ret = dp[idx][comps][sum][matha]; if(vis[idx][comps][sum][matha]) return ret; int prv = (idx-1>=0?a[idx-1] : 0); int notun = sum + (a[idx]-prv)*(2*comps - matha); int ans = 0; //Create ans = add(ans, gun(comps+1 - matha, solve(idx+1, comps+1, notun, matha))); //merge if(comps >= 2) ans = add(ans, gun(comps-1, solve(idx+1, comps-1, notun, matha)) ); //add if(comps>=1) ans = add(ans, gun(2*comps-matha, solve(idx+1, comps, notun, matha))); //notun matha ans = add(ans, gun(2-matha, solve(idx+1, comps+1, notun, matha+1))); //mathay lagao ans = add(ans, gun(2-matha, solve(idx+1, comps, notun, matha+1))); return ret = ans; } int32_t main() { scanf("%d %d",&n,&l); for(int i=0; i<n; i++) { scanf("%d",&a[i]); } sort(a,a+n); if(n==1) { cout<<"1\n"; return 0; } printf("%d\n",solve(0,0,0,0)); return 0; }

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

skyscraper.cpp: In function 'int32_t main()':
skyscraper.cpp:62:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   62 |     scanf("%d %d",&n,&l);
      |     ~~~~~^~~~~~~~~~~~~~~
skyscraper.cpp:65:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   65 |         scanf("%d",&a[i]);
      |         ~~~~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...