Pagini recente » Cod sursa (job #1339382) | Cod sursa (job #39228) | Cod sursa (job #1300204) | Cod sursa (job #846647) | Cod sursa (job #2941681)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <vector>
#include <map>
#include <unordered_map>
#include <set>
#include <cstring>
#include <chrono>
#include <cassert>
#include <bitset>
#include <stack>
#include <queue>
#include <iomanip>
#pragma GCC optimize("Ofast")
//#pragma GCC optimize("Ofast,unroll-loops")
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#define x first
#define y second
#define ld long double
#define ll long long
#define ull unsigned long long
#define us unsigned short
#define lsb(x) ((x) & (-(x)))
#define pii pair <int, int>
using namespace std;
ifstream in("ambuscada2.in");
ofstream out("ambuscada2.out");
int n, m, v;
int x, y, z;
int k, k2;
pii updates[200005];
int main() {
in >> n >> m >> v;
for (int i = 1; i <= m; i++) {
in >> x >> y >> z;
updates[2 * i - 1] = { x, z };
updates[2 * i] = { y + 1, -z };
}
m *= 2;
updates[0] = { 1, 0 };
updates[++m] = { n + 1, 0 };
sort(updates + 1, updates + m + 1);
int ans = 0;
ll sum = 0;
#include <stdio.h>
#define NMAX 10000
int v[NMAX];
int c( int i );
int b( int i ) {
if ( v[i] == 2 )
return b( i + 1 );
if ( v[i] == 1 && v[i + 2] == 3 )
return c( i + 4 );
return 0;
}
int c( int i ) {
if ( v[i] == 2 )
return i + 1;
if ( v[i] == 3 )
return c( b( i + 1 ) );
if ( v[i] == 1 && v[i + 1] == 2 )
return i + 3;
return 0;
}
int main() {
FILE *fin, *fout;
int q, n, i, j;
fin = fopen( "perle.in", "r" );
fout = fopen( "perle.out", "w" );
fscanf( fin, "%d", &q );
for ( i = 0; i < q; i++ ) {
fscanf( fin, "%d", &n );
for ( j = 0; j < n; j++ )
fscanf( fin, "%d", &v[j] );
if ( n == 1 || b( 0 ) == n || c( 0 ) == n )
fprintf( fout, "1\n" );
else
fprintf( fout, "0\n" );
}
fclose( fin );
fclose( fout );
return 0;
}