| Task: | burek |
| Sender: | Hansuzu |
| Submission time: | 2016-08-02 15:37:08 +0300 |
| Language: | C++ |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | TIME LIMIT EXCEEDED | 0 |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.06 s | details |
| #2 | ACCEPTED | 0.05 s | details |
| #3 | ACCEPTED | 0.06 s | details |
| #4 | ACCEPTED | 0.34 s | details |
| #5 | ACCEPTED | 0.30 s | details |
| #6 | ACCEPTED | 0.30 s | details |
| #7 | TIME LIMIT EXCEEDED | -- | details |
| #8 | TIME LIMIT EXCEEDED | -- | details |
Compiler report
input/code.cpp: In function 'int main()':
input/code.cpp:55:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i=0; i<xp.size(); ++i){
^
input/code.cpp:60:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i=0; i<yp.size(); ++i){
^Code
#include <iostream>
#include <set>
#include <vector>
#define MP make_pair
#define F first
#define S second
using namespace std;
int N, M;
set<int> xs;
int mx[1222333];
set<int> ys;
int my[1222333];
vector<pair<int, int> > xp;
vector<pair<int, int> > yp;
int stx[404040];
int sty[404040];
vector<pair<char, int> > cuts;
int main(){
cin >> N;
for (int i=0; i<N; ++i){
int x1, y1, x2, y2, x3, y3;
cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
int xn=min(x1, min(x2, x3));
int xx=max(x1, max(x2, x3));
int yn=min(y1, min(y2, y3));
int yx=max(y1, max(y2, y3));
xp.push_back(MP(xn, xx));
yp.push_back(MP(yn, yx));
xs.insert(xn);
xs.insert(xx);
ys.insert(yn);
ys.insert(yx);
}
cin >> M;
for (int i=0; i<M; ++i){
char c, t;
int p;
cin >> c >> t >> p;
cuts.push_back(MP(c, p));
if (c=='y') ys.insert(p);
else xs.insert(p);
}
int ii=0;
for (auto a:xs) mx[a]=ii, ++ii;
ii=0;
for (auto a:ys) my[a]=ii, ++ii;
for (int i=0; i<xp.size(); ++i){
++stx[mx[xp[i].F]+1];
--stx[mx[xp[i].S]];
}
for (int i=1; i<404040; ++i) stx[i]+=stx[i-1];
for (int i=0; i<yp.size(); ++i){
++sty[my[yp[i].F]+1];
--sty[my[yp[i].S]];
}
for (int i=1; i<404040; ++i) sty[i]+=sty[i-1];
for (int i=0; i<M; ++i){
char c=cuts[i].F;
int p=cuts[i].S;
if (c=='y'){
cout << sty[my[p]] << "\n";
}else{
cout << stx[mx[p]] << "\n";
}
}
}Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 3
1 0 0 2 2 2 1 3 3 5 4 0 5 4 4 5 4 4 4 ... |
| correct output |
|---|
| 0
1 1 2 |
| user output |
|---|
| 0 1 1 2 |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 4
2 7 6 0 0 5 7 1 7 10 11 11 5 10 2 9 6 8 1 9 10 10 4 1 ... |
| correct output |
|---|
| 3
2 3 2 |
| user output |
|---|
| 3 2 3 2 |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 10
84 4 53 58 73 85 60 24 59 23 1 11 80 69 61 57 83 91 84 91 3 97 1 94 ... |
| correct output |
|---|
| 0
4 1 1 5 ... |
| user output |
|---|
| 0 4 1 1 5 ... |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 70000
523716 152076 196820 312652 75... |
| correct output |
|---|
| 3714
48672 41227 51089 19907 ... |
| user output |
|---|
| 3714 48672 41227 51089 19907 ... |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 100000
554 492 443 655 24 170 867 578 502 743 73 276 738 487 297 633 494 469 753 268 131 447 924 530 ... |
| correct output |
|---|
| 73985
28536 71335 58180 74422 ... |
| user output |
|---|
| 73985 28536 71335 58180 74422 ... |
Test 6
Verdict: ACCEPTED
| input |
|---|
| 99999
556 490 167 620 238 60 214 608 982 363 975 378 557 111 872 233 227 61 58 477 37 808 578 225 ... |
| correct output |
|---|
| 57947
50886 46878 70092 16298 ... |
| user output |
|---|
| 57947 50886 46878 70092 16298 ... |
Test 7
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 99999
521698 336192 884832 495601 73... |
| correct output |
|---|
| 2710
18050 45557 42424 4570 ... |
| user output |
|---|
| (empty) |
Test 8
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100000
702229 435001 483066 464189 74... |
| correct output |
|---|
| 66201
69812 28734 33874 14815 ... |
| user output |
|---|
| (empty) |
