codechef code for practice PDF

Title codechef code for practice
Author Anonymous User
Course Computer science engneering
Institution Chandigarh University
Pages 7
File Size 103 KB
File Type PDF
Total Downloads 191
Total Views 461

Summary

The Next Big ThingCODE#include <bits/stdc++.h> using namespace std;vector<int> NGE(vector<int> v) { vector<int> nge(v()); stack<int> st; for (int i = 0; i < v(); i++) { while ((!st()) && (v[i] > v[st()])) { nge[st()] = i; st(); } st(i); } while (!st()) { n...


Description

TheNextBi gThi ng CODE #include using namespace std;

vector NGE(vector v) { vector nge(v.size()); stack st; for (int i = 0; i < v.size(); i++) { while ((!st.empty()) && (v[i] > v[st.top()])) { nge[st.top()] = i; st.pop(); } st.push(i); } while (!st.empty()) { nge[st.top()] = -1; st.pop(); } return nge; }

int main()

{ int n, i; cin >> n; vector vect; for (int i = 0; i < n; i++) { int x; cin >> x; vect.push_back(x); } vector nge = NGE(vect); for (i = 0; i < n; i++) cout a[i]

#define vi vector #define si set #define pii pair #define sii set #define vii vector #define mii map #define faster ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL) using namespace std; using namespace chrono; /* ---------------------------------------------------------------------Things to remember : check for coners n = 1, pass references instead */ /* -------------------------------Solution Sarted--------------------------------------*/

//Constants const int MOD = 1000000007; // 1e9 + 7 const int MAXN = 1000005; // 1e6 +5 const int INF = 100000000000005; // 1e15 +5

vi dist;

set q;

void bfsutil(vi adj[], int s){ set::iterator it;

for (int i = 0; i < adj[s].size(); i++){ int v = adj[s][i];

if (dist[s] + 1 < dist[v]){

it = q.find({ dist[v], v }); q.erase(it); dist[v] = dist[s] + 1; q.insert({ dist[v], v }); } }

if (q.size() == 0) return;

it = q.begin(); int next = it->second; q.erase(it);

bfsutil(adj, next); }

void bfs(vi adj[], int n, vi &s, int k){ vi source(n +1, 0);

for (int i = 0; i < k; i++) source[s[i]] = 1;

for (int i = 1; i second;

bfsutil(adj, start); }

void solve(){ int n, m, k, u, v, q; cin >> n >> m >> k;

vi adj[n +1], special(k);

for(int i = 0; i < m; ++i){ cin >> u >> v; adj[u].push_back(v); adj[v].push_back(u); }

for(int i = 0; i < k; ++i){ cin >> special[i]; }

dist = vi(n +1, INF); bfs(adj, n, special, k);

cin >> q; while(q--){ cin >> u; cout = INF ? -1 : dist[u]) > t; while(t--) solve(); return 0; }

INPUT1 5 3 3 1 2 1 3

2 3 1 3 5 5 1 2 3 4 5...


Similar Free PDFs