Submission #573100

#TimeUsernameProblemLanguageResultExecution timeMemory
573100StrawHatWessUplifting Excursion (BOI22_vault)C++17
0 / 100
5039 ms1836 KiB
#include <bits/stdc++.h> using namespace std; #define boost ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0) typedef vector<int>vi; #define pb push_back #define all(x) begin(x), end(x) #define sz(x) (int)x.size() typedef pair<int,int>pi; typedef vector<pi>vpi; #define fi first #define se second #define FOR(i,a,b) for(int i=a; i<b; i++) #define ROF(i,a,b) for(int i=b-1; i>=a; i--) template<class T> bool ckmin(T& a, const T& b) { return a > b ? a = b, 1 : 0; } template<class T> bool ckmax(T& a, const T& b) { return a < b ? a = b, 1 : 0; } const int INF=2e9; const int MX=1e5+10; void IO() { #ifdef LOCAL freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif } /////////////////////////ONLY CLEAN CODES ALLOWED///////////////////////// int main(){ IO(); boost; int M,L; cin>>M>>L; unordered_map<int,int>mp; FOR(i,-M,M+1){ int n; cin>>n; while(n--){ vpi vec; for(auto it: mp){ int x=it.fi; vec.pb({x+i, mp[x]+1}); } for(auto it: vec){ int k=it.fi, x=it.se; ckmax(mp[k],x); } if(!mp.count(i)) mp[i]=1; } } if(!mp.count(L)) cout << "impossible" << endl; else cout << mp[L] << endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...