コード例 #1
0
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);
    }
}
コード例 #2
0
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);
	}
}
コード例 #3
0
ファイル: client.cpp プロジェクト: etheyre/deepthoughtd
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;
        }
    }