제출 #892333

#제출 시각아이디문제언어결과실행 시간메모리
892333vjudge1Skyscraper (JOI16_skyscraper)C++17
5 / 100
1 ms604 KiB
#include<bits/stdc++.h> using namespace std; #define task "a" #define ll long long #define FORE(i, v) for(__typeof((v).begin()) i = (v).begin(); i != (v).end(); i++) #define ed << "\n"; #define el cout<<'\n'; #define ALL(s) s.begin(),s.end() #define fi first #define se second #define SQ(a) (a)*(a) #define A(a) abs(a) #define SZ(a) ((int)(a.size())) #define REP(i,a,b) for (int i = (a), _b = (b); i < _b; i++) #define FOR(i,a,b) for (int i = (a), _b = (b); i <= _b; i++) #define FOD(i,r,l) for(int i=r; i>=l; i--) #define MASK(x) (1LL << (x)) #define BIT(x, i) ((x) >> (i) & 1) #define pii pair<int,int> #define db double #define II(a, b) make_pair((a),(b)) #define pb(x) push_back(x) #define ull unsigned long long const int mod = 1e9 + 7; const ll MOD = 998244353; const ll INF = 1e18 + 2; /// 998244353; /// 1e9 + 7; /// 1e9 + 25; /// 999999939; /// 1e12 + 7; mt19937_64 rd(chrono::steady_clock::now().time_since_epoch().count()); ll random(ll l, ll r) { return l + rd() % (r - l + 1); } ll mul(ll a, ll b) { if(a >= mod) a %= mod; if(b >= mod) b %= mod; return 1ULL * a * b % mod; } ll add(ll a, ll b) { if(a >= mod) a %= mod; if(b >= mod) b %= mod; a += b; if(a >= mod) a -= mod; if(a < 0) a += mod; return a; } ll opt_mul(ll a, ll b, const ll &p) { ll res = 0; a %= p; b %= p; while(b) { if(b & 1) { res = res + a; if(res >= p) res -= p; } a = a + a; if(a >= p) a -= p; b >>= 1; } return res; } long long opt_pw(ll a, ll b,const ll &p) { ll res = 1; while(b) { if(b & 1) res = opt_mul(res, a, p); a = opt_mul(a, a, p); b = b >> 1; } return res; } int pw(int a, int b) { int res = 1; while(b) { if(b & 1) res = mul(res, a); b = b >> 1; a = mul(a, a); } return res; } template <class T> inline bool minimize(T &a, const T &b) { return (a > b ? (a = b),1 : 0); } template <class T> inline bool maximize(T &a, const T &b) { return (a < b ? (a = b),1 : 0); } void ReadInp() { if(fopen(task".inp","r")) { freopen(task".inp","r",stdin); freopen(task".out","w",stdout); } #define task "a" if(fopen(task".inp","r")) { freopen(task".inp","r",stdin); freopen(task".out","w",stdout); } #define task "maxsub" if(fopen(task".inp","r")) { freopen(task".inp","r",stdin); freopen(task".out","w",stdout); } #define task "disrupt" if(fopen(task".in","r")) { freopen(task".in","r",stdin); freopen(task".out","w",stdout); } } const int maxn = 2e5 + 5; /// a.end()[-1]; /// get <0> (q.top()) int n, L; int a[maxn]; int p[maxn]; void sol() { cin >> n >> L; FOR(i, 1, n) cin >> a[i]; assert(n <= 8); int cnt = 0; FOR(i, 1, n) p[i] = i; do{ int cost = 0; REP(i, 1, n) cost += A(a[p[i + 1]] - a[p[i]]); if(cost <= L) cnt ++; }while(next_permutation(p + 1, p + n + 1)); cout << cnt; } signed main() { ios_base::sync_with_stdio(false); cin.tie(NULL), cout.tie(NULL); ReadInp(); int t = 1; //cin >> t; while(t --) sol(); return 0; }

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

skyscraper.cpp:123: warning: "task" redefined
  123 | #define task "maxsub"
      | 
skyscraper.cpp:117: note: this is the location of the previous definition
  117 | #define task "a"
      | 
skyscraper.cpp:129: warning: "task" redefined
  129 | #define task "disrupt"
      | 
skyscraper.cpp:123: note: this is the location of the previous definition
  123 | #define task "maxsub"
      | 
skyscraper.cpp: In function 'void ReadInp()':
skyscraper.cpp:113:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
  113 |         freopen(task".inp","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
skyscraper.cpp:114:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
  114 |         freopen(task".out","w",stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
skyscraper.cpp:119:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
  119 |         freopen(task".inp","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
skyscraper.cpp:120:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
  120 |         freopen(task".out","w",stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
skyscraper.cpp:125:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
  125 |         freopen(task".inp","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
skyscraper.cpp:126:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
  126 |         freopen(task".out","w",stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
skyscraper.cpp:131:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
  131 |         freopen(task".in","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
skyscraper.cpp:132:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
  132 |         freopen(task".out","w",stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...