Submission #1085391

#TimeUsernameProblemLanguageResultExecution timeMemory
1085391_rain_Arcade (NOI20_arcade)C++14
0 / 100
1 ms348 KiB
#include<bits/stdc++.h> using namespace std; #define fixbug true #define ll long long const int maxm = 5e5; #define ii pair<int,int> #define fi first #define se second ii a[maxm+2]; int n , m; namespace subtask1{ bool check(){ return n <= 100 && m <= 100; } set<vector<ii>> used; int best = (int)1e9+7; void recur(int idx , vector<ii> arms){ if (idx==m+1){ best = min(best , (int)arms.size()); return; } if (arms.size() >= best) return; for (auto& x : arms){ if (abs(x.second - a[idx].second) <= a[idx].first - x.first){ ii old = x; x = a[idx]; if (used.find(arms)!=used.end()) { x = old; continue; } used.insert(arms); recur(idx+1,arms); x = old; } if (arms.size() >= best) return; } arms.push_back(a[idx]); if (used.find(arms)!=used.end()) return; used.insert(arms); recur(idx+1,arms); } void main_code(){ vector<ii> arms; sort(a+1,a+m+1); recur(0,arms); cout << best; } } int main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); #define name "main" if (fopen(name".inp","r")){ freopen(name".inp","r",stdin); freopen(name".out","w",stdout); } cin >> n >> m; for (int i = 1; i <= m; ++i) cin >> a[i].fi; for (int i = 1; i <= m; ++i) cin >> a[i].se; if (subtask1::check()) { subtask1::main_code(); exit(0); } }

Compilation message (stderr)

Arcade.cpp: In function 'void subtask1::recur(int, std::vector<std::pair<int, int> >)':
Arcade.cpp:25:25: warning: comparison of integer expressions of different signedness: 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   25 |         if (arms.size() >= best) return;
      |             ~~~~~~~~~~~~^~~~~~~
Arcade.cpp:39:29: warning: comparison of integer expressions of different signedness: 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   39 |             if (arms.size() >= best) return;
      |                 ~~~~~~~~~~~~^~~~~~~
Arcade.cpp: In function 'int main()':
Arcade.cpp:59:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   59 |         freopen(name".inp","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
Arcade.cpp:60:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   60 |         freopen(name".out","w",stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#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...