int main() { int n,spe[1000],i,j,m; while(scanf("%d",&n)&&n) { for(i=m=0;i<n;i++) scanf("%d",&spe[i]); std::sort(spe,spe+n); std::vector<int> tia(spe,spe+n); for(i=0;i<n;i++) scanf("%d",&spe[i]); std::sort(spe,spe+n); std::vector<int> kin(spe,spe+n); while(kin.size()) { if(tia.back()>kin.back()) m+=200,tia.pop_back(),kin.pop_back(); else if(tia.back()<kin.back()) m-=200,tia.erase(tia.begin(),tia.begin()+1),kin.pop_back(); else { if(tia.front()>kin.front()) m+=200,tia.erase(tia.begin(),tia.begin()+1),kin.erase(kin.begin(),kin.begin()+1); else if(tia.front()<kin.front()) m-=200,tia.erase(tia.begin(),tia.begin()+1),kin.pop_back(); else if(tia.front()<kin.back()) m-=200,tia.erase(tia.begin(),tia.begin()+1),kin.pop_back(); else kin.clear(); } } printf("%d\n",m); } }
int main() { stringstream ss; { int a[10]{ 1, 2, 3 }; text_oarchive toa(ss); toa << a; print(a); } { int a[20]; // should >= 10 text_iarchive tia(ss); tia >> a; print(a); } }
void Client::handle_read(const boost::system::error_code& e, const size_t size) { if(!e) { std::istream bufReader(&_buf); std::string buf; std::getline(bufReader, buf, '\n'); char packetType; bufReader >> packetType; switch((Packet::PacketType)packetType) { case Packet::Task: { Packet::PacketTask pt; { boost::archive::text_iarchive tia(bufReader); tia >> pt; } std::cout << "new task!" << std::endl; ProcessResults pr = processTask(pt.programs()); Packet::PacketTaskAchieved pta(pr.scores, pr.newPrograms); { std::ostream bufWriter(&_responseBuf); { boost::archive::text_oarchive toa(bufWriter); toa << pta; } bufWriter << "\n"; // the end delimiter } boost::asio::write(_sock, _responseBuf); } break; case Packet::Stop: _state = Quitting; return; break; default: // if the packetType is not recognized break; } }