| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 389722 | qwerasdfzxcl | Meteors (POI11_met) | C++14 | Compilation error | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define ll __int128_t
typedef long long ll;
using namespace std;
struct Seg{
ll tree[600600];
int sz;
void init(){
for (int i=1;i<((sz)<<1);i++) tree[i] = 0;
}
void update_p(int i, int p){
i += sz;
for (tree[i]+=p;i>1;i>>=1) tree[i>>1] = tree[i]+tree[i^1];
}
void update(int l, int r, int p){
update_p(l, p);
if (r<sz-1) update_p(r+1, -p);
}
ll query(int l, int r){
ll ret = 0;
for (l += sz, r += sz;l<r;l>>=1, r>>=1){
if (l&1) ret += tree[l++];
if (r&1) ret += tree[--r];
}
return ret;
}
void debug(){
for (int i=sz;i<(sz<<1);i++) printf("%lld ", tree[i]);
printf("\n");
}
}tree;
struct Query{
int l, r, a;
}query[300300];
vector<int> ar[300300], q[300300];
int l[300300], r[300300], ans[300300];
ll val[300300];
int main(){
int n, m;
cin.tie(NULL);
ios_base::sync_with_stdio(false);
cin >> n >> m;
tree.sz = m+1;
for (int i=1;i<=m;i++){
int x;
cin >> x;
ar[x-1].push_back(i);
}
for (int i=0;i<n;i++) cin >> val[i];
int tmp;
cin >> tmp;
for (int i=0;i<tmp;i++){
cin >> query[i].l >> query[i].r >> query[i].a;
}
for (int i=0;i<n;i++) l[i] = 0, r[i] = tmp;
while(1){
//assert(c<12);
bool chk=0;
for (int i=0;i<=tmp;i++) q[i].clear();
for (int i=0;i<n;i++) if (l[i]!=r[i]){
q[(l[i]+r[i])>>1].push_back(i);
chk=1;
}
if (!chk) break;
tree.init();
for (int i=0;i<tmp;i++){
if (query[i].l<=query[i].r) tree.update(query[i].l, query[i].r, query[i].a);
else{
tree.update(1, query[i].r, query[i].a);
tree.update(query[i].l, m, query[i].a);
}
for (auto &j:q[i]){
ll tmp1 = 0;
for (auto &x:ar[j]){
tmp1 += tree.query(1, x+1);
}
if (tmp1>=val[j]){
r[j] = i;
ans[j] = i+1;
}
else l[j] = i+1;
}
//tree.debug();
}
}
for (int i=0;i<n;i++){
if (l[i] == tmp) cout << "NIE\n";
else cout << ans[i] << '\n';
}
return 0;
}
Compilation message (stderr)
met.cpp:2:12: error: conflicting declaration 'typedef long long int __int128_t'
2 | #define ll __int128_t
| ^~~~~~~~~~
met.cpp:4:19: note: in expansion of macro 'll'
4 | typedef long long ll;
| ^~
cc1plus: note: previous declaration as 'typedef __int128 __int128_t'
met.cpp: In member function 'void Seg::debug()':
met.cpp:29:49: warning: format '%lld' expects argument of type 'long long int', but argument 2 has type '__int128' [-Wformat=]
29 | for (int i=sz;i<(sz<<1);i++) printf("%lld ", tree[i]);
| ~~~^ ~~~~~~~
| | |
| | __int128
| long long int
met.cpp: In function 'int main()':
met.cpp:51:31: error: no match for 'operator>>' (operand types are 'std::istream' {aka 'std::basic_istream<char>'} and '__int128')
51 | for (int i=0;i<n;i++) cin >> val[i];
| ~~~ ^~ ~~~~~~
| | |
| | __int128
| std::istream {aka std::basic_istream<char>}
In file included from /usr/include/c++/9/sstream:38,
from /usr/include/c++/9/complex:45,
from /usr/include/c++/9/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
from met.cpp:1:
/usr/include/c++/9/istream:120:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__istream_type& (*)(std::basic_istream<_CharT, _Traits>::__istream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]' <near match>
120 | operator>>(__istream_type& (*__pf)(__istream_type&))
| ^~~~~~~~
/usr/include/c++/9/istream:120:7: note: conversion of argument 1 would be ill-formed:
met.cpp:51:39: error: invalid conversion from '__int128' to 'std::basic_istream<char>::__istream_type& (*)(std::basic_istream<char>::__istream_type&)' {aka 'std::basic_istream<char>& (*)(std::basic_istream<char>&)'} [-fpermissive]
51 | for (int i=0;i<n;i++) cin >> val[i];
| ~~~~~^
| |
| __int128
In file included from /usr/include/c++/9/sstream:38,
from /usr/include/c++/9/complex:45,
from /usr/include/c++/9/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
from met.cpp:1:
/usr/include/c++/9/istream:124:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__ios_type& (*)(std::basic_istream<_CharT, _Traits>::__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>; std::basic_istream<_CharT, _Traits>::__ios_type = std::basic_ios<char>]' <near match>
124 | operator>>(__ios_type& (*__pf)(__ios_type&))
| ^~~~~~~~
/usr/include/c++/9/istream:124:7: note: conversion of argument 1 would be ill-formed:
met.cpp:51:39: error: invalid conversion from '__int128' to 'std::basic_istream<char>::__ios_type& (*)(std::basic_istream<char>::__ios_type&)' {aka 'std::basic_ios<char>& (*)(std::basic_ios<char>&)'} [-fpermissive]
51 | for (int i=0;i<n;i++) cin >> val[i];
| ~~~~~^
| |
| __int128
In file included from /usr/include/c++/9/sstream:38,
from /usr/include/c++/9/complex:45,
from /usr/include/c++/9/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
from met.cpp:1:
/usr/include/c++/9/istream:131:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]' <near match>
131 | operator>>(ios_base& (*__pf)(ios_base&))
| ^~~~~~~~
/usr/include/c++/9/istream:131:7: note: conversion of argument 1 would be ill-formed:
met.cpp:51:39: error: invalid conversion from '__int128' to 'std::ios_base& (*)(std::ios_base&)' [-fpermissive]
51 | for (int i=0;i<n;i++) cin >> val[i];
| ~~~~~^
| |
| __int128
In file included from /usr/include/c++/9/sstream:38,
from /usr/include/c++/9/complex:45,
from /usr/include/c++/9/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
from met.cpp:1:
/usr/include/c++/9/istream:168:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(bool&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]' <near match>
168 | operator>>(bool& __n)
| ^~~~~~~~
/usr/include/c++/9/istream:168:7: note: conversion of argument 1 would be ill-formed:
met.cpp:51:39: error: cannot bind non-const lvalue reference of type 'bool&' to an rvalue of type 'bool'
51 | for (int i=0;i<n;i++) cin >> val[i];
| ~~~~~^
In file included from /usr/include/c++/9/sstream:38,
from /usr/include/c++/9/complex:45,
from /usr/include/c++/9/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
from met.cpp:1:
/usr/include/c++/9/istream:172:7: note: candidate: 'std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&) [with _CharT = char; _Traits = std::char_traits<char>]' <near match>
172 | operator>>(short& __n);
| ^~~~~~~~
/usr/include/c++/9/istream:172:7: note: conversion of argument 1 would be ill-formed:
met.cpp:51:39: error: cannot bind non-const lvalue reference of type 'short int&' to an rvalue of type 'short int'
51 | for (int i=0;i<n;i++) cin >> val[i];
| ~~~~~^
In file included from /usr/include/c++/9/sstream:38,
from /usr/include/c++/9/complex:45,
from /usr/include/c++/9/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
from met.cpp:1:
/usr/include/c++/9/istream:175:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(short unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]' <near match>
175 | operator>>(unsigned short& __n)
| ^~~~~~~~
/usr/include/c++/9/istream:175:7: note: conversion of argument 1 would be ill-formed:
met.cpp:51:39: error: cannot bind non-const lvalue reference of type 'short unsigned int&' to an rvalue of type 'short unsigned int'
51 | for (int i=0;i<n;i++) cin >> val[i];
| ~~~~~^
In file included from /usr/include/c++/9/sstream:38,
from /usr/include/c++/9/complex:45,
from /usr/include/c++/9/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
from met.cpp:1:
/usr/include/c++/9/istream:179:7: note: candidate: 'std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(int&) [with _CharT = char; _Traits = std::char_traits<char>]' <near match>
179 | operator>>(int& __n);
| ^~~~~~~~
/usr/include/c++/9/istream:179:7: note: conversion of argument 1 would be ill-formed:
met.cpp:51:39: error: cannot bind non-const lvalue reference of type 'int&' to an rvalue of type 'int'
51 | for (int i=0;i<n;i++) cin >> val[i];
| ~~~~~^
In file included from /usr/include/c++/9/sstream:38,
from /usr/include/c++/9/complex:45,
from /usr/include/c++/9/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
from met.cpp:1:
/usr/include/c++/9/istream:182:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]' <near match>
182 | operator>>(unsigned int& __n)
| ^~~~~~~~
/usr/include/c++/9/istream:182:7: note: conversion of argument 1 would be ill-formed:
met.cpp:51:39: error: cannot bind non-const lvalue reference of type 'unsigned int&' to an rvalue of type 'unsigned int'
51 | for (int i=0;i<n;i++) cin >> val[i];
| ~~~~~^
In file included from /usr/include/c++/9/sstream:38,
from /usr/include/c++/9/complex:45,
from /usr/include/c++/9/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
from met.cpp:1:
/usr/include/c++/9/istream:186:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]' <near match>
186 | operator>>(long& __n)
| ^~~~~~~~
/usr/include/c++/9/istream:186:7: note: conversion of argument 1 would be ill-formed:
met.cpp:51:39: error: cannot bind non-const lvalue reference of type 'long int&' to an rvalue of type 'long int'
51 | for (int i=0;i<n;i++) cin >> val[i];
| ~~~~~^
In file included from /usr/include/c++/9/sstream:38,
from /usr/include/c++/9/complex:45,
from /usr/include/c++/9/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
from met.cpp:1:
/usr/include/c++/9/istream:190:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]' <near match>
190 | operator>>(unsigned long& __n)
| ^~~~~~~~
/usr/include/c++/9/istream:190:7: note: conversion of argument 1 would be ill-formed:
met.cpp:51:39: error: cannot bind non-const lvalue reference of type 'long unsigned int&' to an rvalue of type 'long unsigned int'
51 | for (int i=0;i<n;i++) cin >> val[i];
| ~~~~~^
In file included from /usr/include/c++/9/sstream:38,
from /usr/include/c++/9/complex:45,
from /usr/include/c++/9/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
from met.cpp:1:
/usr/include/c++/9/istream:195:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]' <near match>
195 | operator>>(long long& __n)
| ^~~~~~~~
/usr/include/c++/9/istream:195:7: note: conversion of argument 1 would be ill-formed:
met.cpp:51:39: error: cannot bind non-const lvalue reference of type 'long long int&' to an rvalue of type 'long long int'
51 | for (int i=0;i<n;i++) cin >> val[i];
| ~~~~~^
In file included from /usr/include/c++/9/sstream:38,
from /usr/include/c++/9/complex:45,
from /usr/include/c++/9/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
from met.cpp:1:
/usr/include/c++/9/istream:199:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]' <near match>
199 | operator>>(unsigned long long& __n)
| ^~~~~~~~
/usr/include/c++/9/istream:199:7: note: conversion of argument 1 would be ill-formed:
met.cpp:51:39: error: cannot bind non-const lvalue reference of type 'long long unsigned int&' to an rvalue of type 'long long unsigned int'
51 | for (int i=0;i<n;i++) cin >> val[i];
| ~~~~~^
In file included from /usr/include/c++/9/sstream:38,
from /usr/include/c++/9/complex:45,
from /usr/include/c++/9/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
from met.cpp:1:
/usr/include/c++/9/istream:214:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(float&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]' <near match>
214 | operator>>(float& __f)
| ^~~~~~~~
/usr/include/c++/9/istream:214:7: note: conversion of argument 1 would be ill-formed:
met.cpp:51:39: error: cannot bind non-const lvalue reference of type 'float&' to an rvalue of type 'float'
51 | for (int i=0;i<n;i++) cin >> val[i];
| ~~~~~^
In file included from /usr/include/c++/9/sstream:38,
from /usr/include/c++/9/complex:45,
from /usr/include/c++/9/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
from met.cpp:1:
/usr/include/c++/9/istream:218:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(double&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]' <near match>
218 | operator>>(double& __f)
| ^~~~~~~~
/usr/include/c++/9/istream:218:7: note: conversion of argument 1 would be ill-formed:
met.cpp:51:39: error: cannot bind non-const lvalue reference of type 'double&' to an rvalue of type 'double'
51 | for (int i=0;i<n;i++) cin >> val[i];
| ~~~~~^
In file included from /usr/include/c++/9/sstream:38,
from /usr/include/c++/9/complex:45,
from /usr/include/c++/9/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
from met.cpp:1:
/usr/include/c++/9/istream:222:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long double&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]' <near match>
222 | operator>>(long double& __f)
| ^~~~~~~~
/usr/include/c++/9/istream:222:7: note: conversion of argument 1 would be ill-formed:
met.cpp:51:39: error: cannot bind non-const lvalue reference of type 'long double&' to an rvalue of type 'long double'
51 | for (int i=0;i<n;i++) cin >> val[i];
| ~~~~~^
In file included from /usr/include/c++/9/sstream:38,
from /usr/include/c++/9/complex:45,
from /usr/include/c++/9/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
from met.cpp:1:
/usr/include/c++/9/istream:235:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(void*&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]' <near match>
235 | operator>>(void*& __p)
| ^~~~~~~~
/usr/include/c++/9/istream:235:7: note: conversion of argument 1 would be ill-formed:
met.cpp:51:39: error: invalid conversion from '__int128' to 'void*' [-fpermissive]
51 | for (int i=0;i<n;i++) cin >> val[i];
| ~~~~~^
| |
| __int128
met.cpp:51:39: error: cannot bind rvalue '(void*)((long int)val[i])' to 'void*&'
In file included from /usr/include/c++/9/sstream:38,
from /usr/include/c++/9/complex:45,
from /usr/include/c++/9/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
from met.cpp:1:
/usr/include/c++/9/istream:259:7: note: candidate: 'std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>]' <near match>
259 | operator>>(__streambuf_type* __sb);
| ^~~~~~~~
/usr/include/c++/9/istream:259:7: note: conversion of argument 1 would be ill-formed:
met.cpp:51:39: error: invalid conversion from '__int128' to 'std::basic_istream<char>::__streambuf_type*' {aka 'std::basic_streambuf<char>*'} [-fpermissive]
51 | for (int i=0;i<n;i++) cin >> val[i];
| ~~~~~^
| |
| __int128
met.cpp:51:31: note: candidate: 'operator>>(int, __int128)' <built-in>
51 | for (int i=0;i<n;i++) cin >> val[i];
| ~~~~^~~