Pagini recente » Istoria paginii utilizator/filipboca | Monitorul de evaluare | Diferente pentru monthly-2012/runda-9/solutii intre reviziile 4 si 3 | Statistici Stoian Andreea-Maria (AndreeaMaria98) | Cod sursa (job #2011302)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ofstream out("test.out");
#define ll long long
#define ull unsigned long long
#define ui unsigned int
#define pb push_back
const int NMax = 2e5 + 5;
const int inf = 1e9 + 5;
const int mod = 100003;
class parser {
using integer = int;
static const int strMax = 1e3 + 5;
ifstream in;
char str[2*strMax],aux[strMax],*p;
bool failed;
public:
parser(string s) {
in.open(s);
str[0] = '\0';
p = str;
failed = false;
}
parser& operator>> (integer& nr) {
if (*p == '\0') {
in.getline(str,strMax,'&');
//cout<<str<<'\n';
in.getline(aux,strMax,' ');
//cout<<aux<<'\n';
strcat(str,aux);
int idx = strlen(str) - 1;
while (!('0' <= str[idx] && str[idx] <= '9')) {
--idx;
}
str[idx+1] = '\0';
//cout<<str<<'\n';
p = str;
if (*p == '\0') {
nr = 0;
failed = true;
return *this;
}
}
while (!('0' <= *p && *p <= '9')) {
++p;
}
nr = 0;
while ('0' <= *p && *p <= '9') {
nr = nr * 10 + *p++ - '0';
}
return *this;
}
bool fail() {
return failed;
}
void print() {
cout<<str<<'\n';
}
void close() {
in.close();
}
};
parser in("test.in");
int main() {
/*
int a;
in>>a;
out<<a<<'\n';
in>>a;
while (!in.fail()) {
out<<a<<' ';
in>>a;
}
//*/
int N;
in>>N;
out<<N<<'\n';
for (int i=1;i <= N;++i) {
int val;
in>>val;
out<<val<<' ';
}
in.close();out.close();
return 0;
}