Submission #93406

#TimeUsernameProblemLanguageResultExecution timeMemory
93406inomMarriage questions (IZhO14_marriage)C++14
32 / 100
1580 ms3960 KiB
#include<bits/stdc++.h> #include<ext/pb_ds/tree_policy.hpp> #include<ext/pb_ds/assoc_container.hpp> #define fi first #define se second #define new new228 #define pb push_back #define rank rank228 #define int long long #define sz(c) (int)(c).size() #define all(c) (c).begin(), (c).end() #define rall(c) (c).rbegin(), (c).rend() using namespace std; using namespace __gnu_pbds; #pragma GCC optimize("Ofast") #pragma GCC optimize("no-stack-protector") #pragma GCC optimize("unroll-loops") #pragma GCC target("sse,sse2,sse3,ssse3,popcnt,abm,mmx,tune=native") #pragma GCC optimize("fast-math") #pragma warning(disable : 4996) typedef tree<int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update> ordered_set; // st.oreder_of_key(); const int N = 30030; const int INF = 1e15 + 7; const int MAXN = 100100; const int MOD = 998244353; int TN = 1; int n, m, k; int us[N], cnt, ans; bool flag = false; vector<int> verr[N]; void rec(int a, int b, int cnt) { if (a > b) { if (cnt >= m) { flag = true; return; } else { return; } } if (cnt >= m) { flag = true; return; } for (auto i: verr[a]) { if (!us[i]) { us[i] = 1; rec(a + 1, b, cnt + 1); us[i] = 0; } } rec(a + 1, b, cnt); } void solve() { scanf("%lld %lld %lld", &n, &m, &k); for (int i = 1; i <= k; i++) { int x, y; scanf("%lld %lld", &x, &y); verr[x].push_back(y); } for (int l = 1; l <= n; l++) { for (int r = l + m - 1; r <= n; r++) { fill(us, us + N, 0); flag = false; cnt = 0; rec(l, r, cnt); ans += flag; } } printf("%lld\n", ans); return; } signed main() { // in; out; // cin >> TN; while (TN--) { solve(); } return 0; }

Compilation message (stderr)

marriage.cpp:23:0: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4996)
 
marriage.cpp: In function 'void solve()':
marriage.cpp:61:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%lld %lld %lld", &n, &m, &k);
     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
marriage.cpp:64:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%lld %lld", &x, &y); verr[x].push_back(y);
         ~~~~~^~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...